From 94de2291e005f1c646fd779e8d32b2820e22e071 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Fri, 31 Jul 2020 16:54:31 -0700 Subject: *: initial implementation of pig This is nothing to write home about, but it provides a little sandbox for developing shader-generated textures in the spirit of shadertoy or the demoscene tool bonzomatic. It's more oriented towards developing shaders for use with libstage in the small games I've been hacking on. --- README | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..82bfa68 --- /dev/null +++ b/README @@ -0,0 +1,43 @@ +pig is a tool to assist developing shaders for games + +at this time it targets just gl2.1 and is fairly minimal, +it expects you to supply the vertex shader and fragment shader +paths on argv as such: + +``` + ./pig path/to/vertex-shader path/to/fragment-shader +``` + +If the files don't exist or are otherwise unusable, pig will just +skip running the shader but continue drawing a checkered bg with +the variables changing as usual. + +The set of uniforms pig wires up to the shaders are currently: + +``` + uniform float alpha; + uniform float time; + uniform float T; + uniform vec3 color; + uniform float seed; + uniform float rand; +``` + +alpha: is always 1.f currently, this comes in by virtue of libstage integration. + when your shader is used as a shader-node w/libstage for instance, this + value would reflect stage_t.alpha, set via stage_set_alpha() or at stage_t + create time via stage_conf_t.alpha. + +time: time since program start in seconds.fraction + +T: 0.f - 1.f, cycled at 1HZ, intended for driving animation/effects. The + time uniform can be considered absolute time, whereas this would be + relative to the shader's start, with a duration assumed of 1 second. + In the future there will probably be flags or something to set the + duration and range. + +color: a random color, randomized every cycle of T + +seed: a random seed, randomized every cycle of T + +rand: 0.f - 1.f, a random number, randomized every run of the shader -- cgit v1.2.3