| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd.
- #pragma extension([GL_EXT_shader_texture_lod, __VERSION__ < 130])
- vec4 fragTextureLod (sampler2D tex, vec2 coord, float lod) {
- #if __VERSION__ < 130
- #ifdef GL_EXT_shader_texture_lod
- return texture2DLodEXT(tex, coord, lod);
- #else
- return texture2D(tex, coord, lod); // fallback to bias
- #endif
- #else
- return textureLod(tex, coord, lod);
- #endif
- }
- vec4 fragTextureLod (samplerCube tex, vec3 coord, float lod) {
- #if __VERSION__ < 130
- #ifdef GL_EXT_shader_texture_lod
- return textureCubeLodEXT(tex, coord, lod);
- #else
- return textureCube(tex, coord, lod); // fallback to bias
- #endif
- #else
- return textureLod(tex, coord, lod);
- #endif
- }
- vec4 fragTextureGrad (sampler2D tex, vec2 P, vec2 dPdx, vec2 dPdy) {
- #if __VERSION__ < 130
- #ifdef GL_EXT_shader_texture_lod
- return texture2DGradEXT(tex, P, dPdx, dPdy);
- #else
- return texture2D(tex, P);
- #endif
- #else
- #if defined(CC_USE_WGPU)
- return textureLod(tex, P, 0.0);
- #else
- return textureGrad(tex, P, dPdx, dPdy);
- #endif
- #endif
- }
- vec4 fragTextureGrad (samplerCube tex, vec3 P, vec3 dPdx, vec3 dPdy) {
- #if __VERSION__ < 130
- #ifdef GL_EXT_shader_texture_lod
- return textureCubeGradEXT(tex, P, dPdx, dPdy);
- #else
- return textureCube(tex, P);
- #endif
- #else
- #if defined(CC_USE_WGPU)
- return textureLod(tex, P, 0.0);
- #else
- return textureGrad(tex, P, dPdx, dPdy);
- #endif
- #endif
- }
|