1#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}