#version 400 uniform sampler s; uniform samplerShadow sShadow; uniform sampler sA[4]; uniform texture2D t2d; uniform texture3D t3d[4]; flat in int i; out vec4 color; void main() { color = texture(sampler2D(t2d, s), vec2(0.5)); color += texture(sampler3D(t3d[i], sA[2]), vec3(0.5)); color += texture(sampler2D(t2d, s), vec2(0.5)); } uniform texture2D tex2D; uniform textureCube texCube; uniform textureCubeArray texCubeArray; uniform itextureCubeArray itexCubeArray; uniform utextureCubeArray utexCubeArray; uniform itexture1DArray itex1DArray; uniform utexture1D utex1D; uniform itexture1D itex1D; uniform utexture1DArray utex1DArray; uniform textureBuffer texBuffer; uniform texture2DArray tex2DArray; uniform itexture2D itex2D; uniform itexture3D itex3D; uniform itextureCube itexCube; uniform itexture2DArray itex2DArray; uniform utexture2D utex2D; uniform utexture3D utex3D; uniform utextureCube utexCube; uniform utexture2DArray utex2DArray; uniform itexture2DRect itex2DRect; uniform utexture2DRect utex2DRect; uniform itextureBuffer itexBuffer; uniform utextureBuffer utexBuffer; uniform texture2DMS tex2DMS; uniform itexture2DMS itex2DMS; uniform utexture2DMS utex2DMS; uniform texture2DMSArray tex2DMSArray; uniform itexture2DMSArray itex2DMSArray; uniform utexture2DMSArray utex2DMSArray; uniform texture1D tex1D; uniform texture3D tex3D; uniform texture2DRect tex2DRect; uniform texture1DArray tex1DArray; void foo() { sampler2D (tex2D, s); samplerCube (texCube, s); samplerCubeArray (texCubeArray, s); samplerCubeArrayShadow (texCubeArray, sShadow); isamplerCubeArray (itexCubeArray, s); usamplerCubeArray (utexCubeArray, s); sampler1DArrayShadow (tex1DArray, sShadow); isampler1DArray (itex1DArray, s); usampler1D (utex1D, s); isampler1D (itex1D, s); usampler1DArray (utex1DArray, s); samplerBuffer (texBuffer, s); samplerCubeShadow (texCube, sShadow); sampler2DArray (tex2DArray, s); sampler2DArrayShadow (tex2DArray, sShadow); isampler2D (itex2D, s); isampler3D (itex3D, s); isamplerCube (itexCube, s); isampler2DArray (itex2DArray, s); usampler2D (utex2D, s); usampler3D (utex3D, s); usamplerCube (utexCube, s); usampler2DArray (utex2DArray, s); isampler2DRect (itex2DRect, s); usampler2DRect (utex2DRect, s); isamplerBuffer (itexBuffer, s); usamplerBuffer (utexBuffer, s); sampler2DMS (tex2DMS, s); isampler2DMS (itex2DMS, s); usampler2DMS (utex2DMS, s); sampler2DMSArray (tex2DMSArray, s); isampler2DMSArray (itex2DMSArray, s); usampler2DMSArray (utex2DMSArray, s); sampler1D (tex1D, s); sampler1DShadow (tex1D, sShadow); sampler3D (tex3D, s); sampler2DShadow (tex2D, sShadow); sampler2DRect (tex2DRect, s); sampler2DRectShadow (tex2DRect, sShadow); sampler1DArray (tex1DArray, s); }