Even though glGetString (GL_EXTENSIONS)
call says the extension is present
GL version: OpenGL ES 3.0 Apple A8 GPU - 95.58
GL vendor: Apple Inc.
GL renderer: Apple A8 GPU
GLSL version: OpenGL ES GLSL ES 3.00
GLSL extensions:
1 > GL_OES_standard_derivatives
2 > GL_KHR_texture_compression_astc_ldr
3 > GL_EXT_color_buffer_half_float
4 > GL_EXT_debug_label
5 > GL_EXT_debug_marker
6 > GL_EXT_pvrtc_sRGB
7 > GL_EXT_read_format_bgra
8 > GL_EXT_separate_shader_objects
9 > GL_EXT_shader_framebuffer_fetch
10 > GL_EXT_shader_texture_lod <--------------------
11 > GL_EXT_shadow_samplers
12 > GL_EXT_texture_filter_anisotropic
13 > GL_APPLE_clip_distance
14 > GL_APPLE_color_buffer_packed_float
15 > GL_APPLE_copy_texture_levels
16 > GL_APPLE_rgb_422
17 > GL_APPLE_texture_format_BGRA8888
18 > GL_IMG_read_format
19 > GL_IMG_texture_compression_pvrtc
it seems the shader ignores level
parameter in textureLod
call. The visual result is the same as with texture
. I checked it with renderdoc and the texture has generated mipmaps. The mag filtering mod also uses LINEAR_MIPMAP_LINEAR
. Also, I'm sure the level
parameter is correct.
Also, shader compilation fails when I insert this statement in the beginning #extension GL_EXT_shader_texture_lod : require
(with #version 300 es
). With #version 100
and with the extension compilation succeeded.
I did not try switching to #version 100
completely, I'm not sure if it works.
My question is why I can't compile 300 es shader with the texture_lod extension even though it is present on the device?
My question is why I can't compile 300 es shader with the texture_lod extension even though it is present on the device?
... because it's an extension specifically targeting OpenGL ES ES 2.x shaders ( #version 100
).
Support for textureLod()
is core profile in OpenGL ES 3.x ESSL #version 300
so you don't need the extension ...
你可以尝试 put #extension GL_EXT_shader_texture_lod : enable
in shader,它在这里工作。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.