Kanzi 中使用的 OpenGL 扩展。

此表格列出了 Kanzi 使用的 OpenGL 扩展。

功能:OpenGL 扩展

要求

线性颜色工作流:

GL_EXT_sRGB

如果可用,Kanzi 启用此扩展。

二进制着色器:

  • GL_ARB_get_program_binary

  • GL_OES_get_program_binary

如果您在使用二进制着色器,则一定可用其中一个扩展名,除非您的平台支持 OpenGL ES 3.0 或更高版本。请参阅 使用二进制着色器。

调试:

GL_KHR_debug

如果您调用 Renderer::logOpenGLInformation 并且此扩展可用,Kanzi 将使用它。

多重采样 (MSAA):

  • GL_NV_framebuffer_multisample

  • GL_ARB_framebuffer_object

  • GL_EXT_multisampled_render_to_texture

  • GL_IMG_multisampled_render_to_texture

如果您在 Composition Target Render Pass 中设置 Multisample Level 属性,则必须提供这些扩展之一,除非您的平台支持 OpenGL ES 3.0 或更高版本。请参阅 将内容渲染到合成目标 和 使用多重采样。

顶点格式:

  • GL_ARB_half_float_vertex

  • GL_OES_vertex_half_float

如果您使用半浮点矢量格式,则一定可用其中一个扩展名,除非您的平台支持 OpenGL ES 3.0 或更高版本。请参阅 优化网格。

纹理和渲染目标格式:

GL_OES_rgb8_rgba8 extension

如果您使用 RGB8 渲染目标,Kanzi 使用此扩展名(如果可用),除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

  • GL_OES_texture_half_float

  • GL_OES_texture_half_float_linear

  • GL_OES_texture_float

  • GL_OES_texture_float_linear

  • GL_ARB_half_float_pixel

  • GL_EXT_color_buffer_half_float

  • GL_EXT_color_buffer_float

  • GL_ARB_color_buffer_float

如果在纹理或渲染目标中选择任意 float16 或 float32 格式,Kanzi 会使用这些扩展(如果可用)。

纹理和渲染目标格式:

GL_EXT_texture_norm16

如果在纹理或渲染目标中选择任意 16 位有符号或无符号格式,Kanzi 会使用此扩展(如果可用)。

纹理和渲染目标格式:

  • GL_ARB_texture_storage_multisample

  • GL_ARB_texture_storage

  • GL_EXT_texture_storage

Kanzi 使用这些扩展(如果可用),除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

GL_ETC1_RGB8_OES

如果您使用 ETC1 纹理格式,则一定可用以上其中一种相应格式。请参阅 使用 ETC 算法。

纹理和渲染目标格式:

  • GL_COMPRESSED_RGB8_ETC2

  • GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2

  • GL_COMPRESSED_RGBA8_ETC2_EAC

如果您选择 ETC2 纹理格式,则一定可用以下其中一种相应格式。请参阅 使用 ETC 算法。

纹理和渲染目标格式:

  • GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG

  • GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG

  • GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG

  • GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG

  • GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG

  • GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG

如果您使用 PVRTC 纹理格式,则一定可用以上其中一种相应格式。请参阅 使用 PVRTC 算法。

纹理和渲染目标格式:

  • GL_ATC_RGB_AMD

  • GL_ATC_RGBA_EXPLICIT_ALPHA_AMD

  • GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD

如果您使用 ATC 纹理格式,则一定可用以上其中一种相应格式。请参阅 使用 ATC 算法。

纹理和渲染目标格式:

  • GL_COMPRESSED_RGBA_ASTC_4x4

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4

  • GL_COMPRESSED_RGBA_ASTC_5x4

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4

  • GL_COMPRESSED_RGBA_ASTC_5x5

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5

  • GL_COMPRESSED_RGBA_ASTC_6x5

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5

  • GL_COMPRESSED_RGBA_ASTC_6x6

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6

  • GL_COMPRESSED_RGBA_ASTC_8x5

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5

  • GL_COMPRESSED_RGBA_ASTC_8x6

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6

  • GL_COMPRESSED_RGBA_ASTC_8x8

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8

  • GL_COMPRESSED_RGBA_ASTC_10x5

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5

  • GL_COMPRESSED_RGBA_ASTC_10x6

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6

  • GL_COMPRESSED_RGBA_ASTC_10x8

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8

  • GL_COMPRESSED_RGBA_ASTC_10x10

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10

  • GL_COMPRESSED_RGBA_ASTC_12x10

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10

  • GL_COMPRESSED_RGBA_ASTC_12x12

  • GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12

如果您使用 ASTC 纹理格式,则一定可用以上其中一种相应格式。请参阅 使用 ASTC 算法。

纹理和渲染目标格式:

  • GL_ARB_depth_texture

  • GL_OES_depth_texture

如果您使用 16 位深度纹理格式,则一定可用以上其中一种相应格式,除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

  • GL_OES_depth24

  • GL_ARB_depth_texture

如果您使用 24 位深度纹理格式,则一定可用以上其中一种相应格式,除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

  • GL_OES_depth32

  • GL_ARB_depth_texture

如果您使用 32 位深度纹理格式,则一定可用以上其中一种相应扩展,除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

  • GL_EXT_packed_depth_stencil

  • GL_OES_packed_depth_stencil

如果您使用深度和模具,则一定可用以上其中一种相应格式,除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

GL_OES_stencil8

如果您使用 stencil8 纹理格式,则一定可用此扩展名,除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

GL_EXT_texture_filter_anisotropic

如果您在任意纹理中设置了非单折射性过滤,则一定可用此扩展名。

纹理和渲染目标格式:

GL_ARB_seamless_cube_map

如果可用,Kanzi 启用此扩展。

纹理和渲染目标格式:

GL_EXT_texture_rg

如果您使用 RG 纹理,则一定可用此扩展名,除非您的平台支持 OpenGL ES 3.0 或更高版本。

纹理和渲染目标格式:

GL_EXT_draw_buffers

如果您使用 Composition Target Render Pass 将内容渲染到多个目标,则必须提供此扩展,除非您的平台支持 OpenGL ES 3.0 或更高版本。请参阅 将内容渲染到多个合成目标。

几何着色器

  • GL_ARB_geometry_shader

  • GL_OES_geometry_shader

如果您使用几何着色器,则一定可用其中一个扩展名,除非您的平台支持 OpenGL ES 3.2 或更高版本。请参阅 使用几何着色器。

细分着色器

  • GL_ARB_tessellation_shader

  • GL_OES_tessellation_shader

如果您使用细分着色器,则一定可用其中一个扩展名,除非您的平台支持 OpenGL ES 3.2 或更高版本。请参阅 使用细分着色器。

高级颜色混合:

  • GL_KHR_blend_equation_advanced

  • GL_KHR_blend_equation_advanced_coherent

如果您将任何节点或材质设置为使用高级颜色混合模式,则这些扩展必须可用。请参阅 高级颜色混合模式。

另请参阅

使用二进制着色器

将内容渲染到合成目标

应用抗锯齿功能

优化网格

压缩纹理

纹理 (Textures)

使用渲染目标纹理

合成和混合