blob: 94f8dcc9e2085312bfb5dc9777ce21e8bc52f769 (
plain)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
|
//--------------------------------------------------------------------------------------
// Order Independent Transparency Fragment Shader
//
// Author: Louis Bavoil
// Email: sdkfeedback@nvidia.com
//
// Copyright (c) NVIDIA Corporation. All rights reserved.
//--------------------------------------------------------------------------------------
uniform float Alpha;
#define COLOR_FREQ 30.0
#define ALPHA_FREQ 30.0
#if 1
vec4 ShadeFragment()
{
float xWorldPos = gl_TexCoord[0].x;
float yWorldPos = gl_TexCoord[0].y;
float diffuse = gl_TexCoord[0].z;
vec4 color;
float i = floor(xWorldPos * COLOR_FREQ);
float j = floor(yWorldPos * ALPHA_FREQ);
color.rgb = (fmod(i, 2.0) == 0) ? vec3(.4,.85,.0) : vec3(1.0);
//color.a = (fmod(j, 2.0) == 0) ? Alpha : 0.2;
color.a = Alpha;
color.rgb *= diffuse;
return color;
}
#else
vec4 ShadeFragment()
{
vec4 color;
color.rgb = vec3(.4,.85,.0);
color.a = Alpha;
return color;
}
#endif
|