OpenGL有灰度纹理格式:GL_LUMINANCE。在Vulkan中,相当于内部格式的是什么?或者说我们如何在Vulkan中指定灰度纹理?
OpenGL有灰度纹理格式:GL_LUMINANCE。在Vulkan中,相当于内部格式的是什么?或者说我们如何在Vulkan中指定灰度纹理?
选取适合需求的受支持的单通道格式,例如VK_FORMAT_R8_UNORM
表示8位灰度、VK_FORMAT_R16_SFLOAT
表示半精度浮点灰度或VK_FORMAT_R32_SFLOAT
表示单精度浮点灰度。
从历史上看,OpenGL ES中指定一组和两组分量的纹理使用亮度或亮度-Alpha(L/LA)格式。随着可编程着色器和渲染到纹理的能力的出现,这些遗留格式带有一些不再有用的历史瑕疵。
例如,在从这些纹理中取样时,亮度值会在颜色分量之间复制。这在使用可编程着色器时不再必要。
还希望能够使用诸如帧缓冲对象(FBO)之类的功能将图像渲染到一组和两组分量格式的纹理中,但是渲染到L/LA格式是未指定的(具体来说是如何将R/G/B/A值映射到L/A纹理通道中)。