【问题标题】:How is VK_COLOR_SPACE_PASS_THROUGH_EXT meant to be used?VK_COLOR_SPACE_PASS_THROUGH_EXT 是如何使用的?
【发布时间】:2020-08-15 16:38:28
【问题描述】:

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

规范定义VK_COLOR_SPACE_PASS_THROUGH_EXT如下:

“VK_COLOR_SPACE_PASS_THROUGH_EXT 指定颜色组件按“原样”使用。这旨在允许应用程序为此处未描述的颜色空间提供数据。”

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

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

谢谢,和往常一样,我真的不知道我在说什么,所以请多多包涵。

【问题讨论】:

    标签: colors vulkan color-space


    【解决方案1】:

    通过意味着通过。在显示呈现方面,Vulkan 实现是用户和显示引擎之间的中介(即:操作系统中处理窗口如何访问和操作屏幕的部分)。传递是指 Vulkan 按原样传递数据。用户在显示引擎期望的颜色空间中提供数据。

    【讨论】:

    • 我如何确定显示引擎的预期?比如说windows平台……
    • @IdioticShrike:那是你和显示引擎之间的事。根据定义,这不是 Vulkan 的责任。
    • 好的...但我仍然需要编写程序!您对如何与“显示引擎”交互并了解它在 c/vulkan 代码中如何期望其数据有任何建议吗?
    • @IdioticShrike:“我还是得写程序!”没有人让你使用这个功能。它是为有需要的人准备的。如果您对显示引擎还没有深入了解,则不需要它。
    • 经过一些互联网研究,我完全不知道如何确定他们的显示引擎的属性......您对此有什么建议吗?
    猜你喜欢
    • 2016-11-05
    • 2015-05-04
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多