【发布时间】:2021-03-24 11:24:29
【问题描述】:
即使glGetString (GL_EXTENSIONS) 电话说分机存在
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
着色器似乎忽略了textureLod 调用中的level 参数。视觉结果与texture 相同。我用 renderdoc 检查了它,纹理已经生成了 mipmap。 mag 过滤模块也使用LINEAR_MIPMAP_LINEAR。另外,我确定level 参数是正确的。
此外,当我在开头#extension GL_EXT_shader_texture_lod : require (带有#version 300 es)插入此语句时,着色器编译失败。使用#version 100 和扩展编译成功。
我没有尝试完全切换到#version 100,我不确定它是否有效。
我的问题是为什么我不能用 texture_lod 扩展编译 300 es 着色器,即使它存在于设备上?
【问题讨论】:
-
也许你应该展示你的着色器?
标签: ios opengl-es opengl-es-2.0 opengl-es-3.0