![]() |
1
2
我在google上搜索了一下10位RGB的含义。 在维基百科上 Color Depth – Deep color (30/36/48-bit)
我觉得这是最合理的。 与此相应,红色有10位,绿色有10位,蓝色有10位,+2位未使用(或为Alpha保留)。 这就留下了两个问题:
当我在实际工作中遇到这个问题时,我基于一个假设做了一个实现,呈现了一些测试模式,检查它是否像预期的那样,如果没有交换resp。实现中的部分。没什么,我很自豪,但是,嗯,我用最少的努力得到了预期的结果。 因此,假设将颜色存储为RGB三元组,分量值在[0,1]范围内,下面的函数将其转换为aRGB:
演示的小示例:
|
![]() |
2
1
颜色通道的确切排列方式取决于API。它很可能是平面的(即,每个通道一个单图像),它可能是压缩的(即,将多个通道打包成一个数据字),它可能是交错的(对每个通道使用不同的表示)。 但是有一点是肯定的:对于任何不完全适合“本机”类型的通道格式,访问它时必须进行一些微调。 想知道怎么做 该字段是,只需查看Vulkan API的第一个版本指定的图像格式: https://vulkan.lunarg.com/doc/view/1.0.30.0/linux/vkspec.chunked/ch31s03.html 该文档还描述了每种格式的位的精确排列方式。 |
![]() |
Charles Langlois · 中途选择 8 年前 |