129 lines
2.2 KiB
Text
129 lines
2.2 KiB
Text
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
|
|
|
|
l
|
|
Reload shader (if you're using a system without inotify, or inotify fails)
|
|
|
|
Space
|
|
Pause/continue
|
|
|
|
Page up/down
|
|
Modify param0
|
|
|
|
Left/right
|
|
Modify param1
|
|
|
|
Up/down
|
|
Modify param2
|
|
|
|
Escape
|
|
Quit
|