OpenGL和Vulkan的Color Renderable Format

Color Renderable format通常指的是作为GPU输出缓冲区的attachment的资源格式。
OpenGL纹理的Color Renderable是确定的,种类也很少。
Vulkan的Image/Texture资源可以分为两种: Sampleable,Renderable。其中Vulkan的Renderable,比OpenGL的要复杂,种类相对要多很多。

本文介绍两者在使用上的区别。

OpenGL ES 2.0

OpenGL的Renderable很简单,根据OpenGL ES 2.0的规范,下面这些格式才是Renderable(包括了Color Renderable):

OpenGL和Vulkan的Color Renderable Format_第1张图片

Vulkan

Vulkan的情形要复杂一些,每个不同用途的Image,支持的格式都是有区别的。
所以Vulkan在处理Image的格式的时候分为两步:

  • 先确定Image的用途
    通过VkFormatFeatureFlagBits来确定Image的不同用途。譬如作为输出的Swap chain Image 通常是VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT 类型。

  • 每种用途的Image有着对应的Image格式
    在https://www.khronos.

你可能感兴趣的:(graphics)