summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.txt123
1 files changed, 123 insertions, 0 deletions
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..92d9a09
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,123 @@
+glslview
+========
+
+glslview is a simple program to run GLSL fragment shaders and interact with them.
+
+glslview will render a simple fullscreen rectangle, the shader will determine each
+pixel's color.
+
+The glslwrite tool can be used to write the generated frames to PNG files
+(with transparency support!).
+
+You will need a graphics adapter and drivers with modern OpenGL/GLSL support.
+
+Building
+~~~~~~~~
+
+glslview has been tested on Linux only, but it should work on other systems as well.
+If it doesn't, I'm happy to take patches.
+
+glslview has the following dependencies:
+
+* SDL2
+* libGL
+* libGLEW
+
+glslwrite additionally depends on libpng.
+
+On Linux, glslview will use inotify to watch the loaded shader file for changes.
+
+
+Running
+~~~~~~~
+
+Shader
+------
+
+glslview will supply the following uniform parameters to the shader:
+
+vec2 res
+ The current resolution of the window
+
+float time
+ Current time in milliseconds (by default since start of the program)
+
+int param0, param1, param2
+ Modifiable parameters, 0 by default
+
+The shader must define an output vec4 called "fragColor" into which the fragment color
+is to be written.
+
+See the examples provided with the source for more information. The "symmetry"
+example makes use of all parameters.
+
+
+Command line
+------------
+
+ glslview <options> <shader>
+ glslwrite <options> <shader> <output directory>
+
+
+Common options:
+
+-w <width>
+ Initial window width (default: 800)
+
+-h <height>
+ Initial window height (default: 800)
+
+-0, -1, -2 <param>
+ Initial value for the shader parameters
+
+
+glslview options:
+
+-s <speed>
+ Initial speed factor (default: 1.0, negative values make time run backwards)
+
+-t <time>
+ Initial time value (default: 0.0)
+
+
+glslwrite options:
+
+-s <step>
+ Time step between frames (default: 20.0)
+
+-f <frame>
+ Number of frames to generate (default: run forever)
+
+
+glslview control
+----------------
+
++/-, scroll wheel
+ Change speed
+
+=
+ Reset speed
+
+<
+ Run backwards
+
+>
+ Run forwards
+
+r
+ Reset time
+
+R
+ Reset parameters
+
+Page up/down
+ Modify param0
+
+Left/right
+ Modify param1
+
+Up/down
+ Modify param2
+
+Escape
+ Quit