VK_COLOR_SPACE_PASS_THROUGH_EXT 的用途是什么?

How is VK_COLOR_SPACE_PASS_THROUGH_EXT meant to be used?

VkColorSpaceKHR 的所有其他可能值指定可识别的颜色 space 编码,并且我假设使用这些值创建交换链意味着应用程序提交到呈现队列的最终像素数据将被转换,在线下的某个地方,通过已知的 EOTF 进入解码的 space。

规范定义VK_COLOR_SPACE_PASS_THROUGH_EXT如下:

"VK_COLOR_SPACE_PASS_THROUGH_EXT 指定使用颜色分量 'as is'。这旨在允许应用程序为此处未描述的颜色 space 提供数据。"

这对我的申请意味着什么?假设(完全假设地)我正在构建一些奇特的光谱渲染器并且我正在使用一个自定义系统来表示颜色,然后所有这些都将转换为最终的 RGB 格式,只有三个强度值通道,与颜色无关space 或任何编码。

我的图像真的会像规范中声称的那样“按原样”被 blit 到屏幕上吗?如果是这样,实现如何知道如何处理给定的像素数据?它会导致我显示器上的每个像素都设置为那些原始 RGB 强度,而不应用传递函数吗?

谢谢,和往常一样,我真的不知道我在说什么,所以请耐心等待。

Pass-through表示通过。在显示呈现方面,Vulkan 实现是用户和显示引擎之间的中介(即:OS 中处理 window 如何访问和操作屏幕的部分)。 Pass-through 表示 Vulkan 通过 as-is 传递数据。用户以显示引擎期望的颜色 space 提供数据。