1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
/*
* File: BasicSineGratingShader.frag.txt
* Shader for drawing of basic parameterized sine grating patches.
*
* (c) 2007 by Mario Kleiner, licensed under MIT license.
*
*/
uniform vec4 Offset;
varying vec4 baseColor;
varying float Phase;
varying float FreqTwoPi;
void main()
{
/* Query current output texel position: */
float pos = gl_TexCoord[0].x;
/* Evaluate sine grating at requested position, frequency and phase: */
float sv = sin(pos * FreqTwoPi + Phase);
/* Multiply/Modulate base color and alpha with calculated sine */
/* values, add some constant color/alpha Offset, assign as final fragment */
/* output color: */
gl_FragColor = (baseColor * sv) + Offset;
}
|