Your name is out of base. sampler2DShadow not supported not . The only thing that changed in GLSL 1.30 was that the clutter of functions like texture1D , texture2D , textureCube , shadow2D , etc., was replaced by texture (...) overloads.
Note that this texture (...) overload is equivalent to shadow2D (...) :
float texture(sampler2DShadow sampler, vec3 P, [float bias]);
The coordinates of the texture used to search using this overload are: P.st and the reference value used to compare the depth Pr . This overload only works when texture comparison is enabled ( GL_TEXTURE_COMPARE_MODE == GL_COMPARE_REF_TO_TEXTUREβ for a texture / sampler object tied to a shadow sampler texture image block; otherwise the results are undefined.
Starting with GLSL 1.30, the only time you need to use another texture search function, you do something fundamentally different (for example, texture projection => textureProj , asking for the exact LOD => textureLod , texel selection by its integer coordinates / pattern index = > texelFetch , etc.). A texture search with comparison (shadow sampler) is not considered fundamentally different to require its own specialized texture search function.
All this is described in detail on the OpenGL Viking website .
Andon M. coleman
source share