|
- [vert.glsl]
-
- #version 120
-
- attribute vec2 in_position;
-
- varying vec2 pass_position;
-
- void main()
- {
- pass_position = in_position;
- gl_Position = vec4(in_position, 0.0, 1.0);
- }
-
- [frag.glsl]
-
- #version 120
-
- #if defined GL_ES
- precision highp float;
- #endif
-
- uniform sampler2D in_texture;
- varying vec2 pass_position;
-
- vec3 rand_color(float t)
- {
- return vec3(0.5 + 0.5 * sin(t * 19.0 + 17.0),
- 0.5 + 0.5 * sin(t * 24.0 + 23.0),
- 0.5 + 0.5 * sin(t * 37.0 + 12.0));
- }
-
- void main(void)
- {
- vec2 texcoords = pass_position * 0.5 + vec2(0.5, 0.5);
- vec4 src_color = texture2D(in_texture, texcoords);
- float newg = src_color.z;
- float newb = 0.0;
- if (newg > 0.0)
- newb = 1.0;
- gl_FragColor = vec4(rand_color(newg), 1.0);
- }
-
- [vert.hlsl]
-
- void main(float2 in_Position : POSITION,
- out float2 pass_Position : TEXCOORD0,
- out float4 out_Position : POSITION)
- {
- pass_Position = in_Position;
- out_Position = float4(in_Position, 0.0, 1.0);
- }
-
- [frag.hlsl]
-
- float3 rand_color(float t)
- {
- return float3(0.5 + 0.5 * sin(t * 9.0 + 3.0),
- 0.5 + 0.5 * sin(t * 4.0 + 1.0),
- 0.5 + 0.5 * sin(t * 7.0 + 2.0));
- }
-
- void main(in float2 pass_Position : TEXCOORD0,
- uniform sampler2D in_Texture,
- uniform float in_Flag,
- uniform float3 in_Point,
- uniform float3 in_Color,
- out float4 out_FragColor : COLOR)
- {
- if (in_Flag == 0.0)
- {
- float tc = 0.0, ta = 0.0;
- {
- float s = 3.0 + 2.0 * in_Point.z;
- float2 p = pass_Position - in_Point.xy * 0.9;
- float t = clamp(1.2 - dot(s * p, s * p), 0.0, 1.0);
- float u = t * t * t * t;
- tc += 3.0 * t * t - 2.0 * t * t * t;
- ta += 3.0 * u * u - 2.0 * u * u * u;
- }
-
- out_FragColor = float4(tc * in_Color, ta + 0.1);
- }
- else
- {
- float2 texcoords = pass_Position * float2(0.5, -0.5) + float2(0.5, 0.5);
- /* FIXME: this should be passed as a uniform or something */
- texcoords += float2(0.5 / 800.0, 0.5 / 600.0);
- out_FragColor = float4(tex2D(in_Texture, texcoords).xyz, 1.0);
- }
- }
|