blob: 8e5391eeffcaedb3b422b5982c82d0bbd1a43099 [file] [log] [blame]
John Kessenich2f21fcc2015-06-17 16:15:09 +00001#version 130
2
3uniform sampler1D texSampler1D;
4uniform sampler2D texSampler2D;
5uniform sampler3D texSampler3D;
6uniform samplerCube texSamplerCube;
7uniform sampler1DShadow shadowSampler1D;
8uniform sampler2DShadow shadowSampler2D;
9
10uniform float blend;
11uniform vec2 scale;
12uniform vec4 u;
13
14varying vec2 t;
15varying vec2 coords2D;
16
17void main()
18{
19 float blendscale = 1.789;
20 float bias = 2.0;
21 float lod = 3.0;
22 float proj = 2.0;
23 float coords1D = 1.789;
24 vec3 coords3D = vec3(1.789, 2.718, 3.453);
25 vec4 coords4D = vec4(1.789, 2.718, 3.453, 2.0);
26 vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
27
28 color += texture1D (texSampler1D, coords1D);
29 color += texture1D (texSampler1D, coords1D, bias);
30 color += texture1DProj(texSampler1D, coords2D);
31 color += texture1DProj(texSampler1D, coords4D);
32 color += texture1DProj(texSampler1D, coords2D, bias);
33 color += texture1DProj(texSampler1D, coords4D, bias);
34
35 color += texture2D (texSampler2D, coords2D);
36 color += texture2D (texSampler2D, coords2D, bias);
37 color += texture2DProj (texSampler2D, coords3D);
38 color += texture2DProj (texSampler2D, coords4D, bias);
39
40 color += texture3D (texSampler3D, coords3D);
41 color += texture3D (texSampler3D, coords3D, bias);
42 color += texture3DProj (texSampler3D, coords4D);
43 color += texture3DProj (texSampler3D, coords4D, bias);
44
45 color += textureCube (texSamplerCube, coords3D);
46 color += textureCube (texSamplerCube, coords3D, bias);
47
48 color += shadow1D (shadowSampler1D, coords3D);
49 color += shadow1D (shadowSampler1D, coords3D, bias);
50 color += shadow2D (shadowSampler2D, coords3D);
51 color += shadow2D (shadowSampler2D, coords3D, bias);
52 color += shadow1DProj (shadowSampler1D, coords4D);
53 color += shadow1DProj (shadowSampler1D, coords4D, bias);
54 color += shadow2DProj (shadowSampler2D, coords4D);
55 color += shadow2DProj (shadowSampler2D, coords4D, bias);
56
57 ivec2 iCoords2D = ivec2(0, 5);
58 int iLod = 1;
59
60 color += texelFetch(texSampler2D, iCoords2D, iLod);
61
62 vec2 gradX = dFdx(coords2D);
63 vec2 gradY = dFdy(coords2D);
64 const ivec2 offset = ivec2(3, -7);
65
66 color += textureGrad(texSampler2D, coords2D, gradX, gradY);
67 color += textureProjGrad(texSampler2D, vec3(coords2D, proj), gradX, gradY);
68 color += textureGradOffset(texSampler2D, coords2D, gradX, gradY, offset);
69 color += textureProjGradOffset(texSampler2D, coords3D, gradX, gradY, offset);
70 color += textureGrad(shadowSampler2D, vec3(coords2D, lod), gradX, gradY);
71
72 gl_FragColor = mix(color, u, blend * blendscale);
73}