【发布时间】:2020-01-02 12:51:38
【问题描述】:
这是 3dcpptutorials 光线追踪的代码段。有人可以解释一下这行代码是如何工作的吗?
据我了解,如果小于0,则存储0,如果大于1,则存储255,如果介于两者之间,则存储value * 255,类似的东西。我说的对吗?
colorbuffer[2] = Color.r <= 0.0f ? 0 : Color.r >= 1.0 ? 255 : (BYTE)(Color.r * 255);
colorbuffer[1] = Color.g <= 0.0f ? 0 : Color.g >= 1.0 ? 255 : (BYTE)(Color.g * 255);
colorbuffer[0] = Color.b <= 0.0f ? 0 : Color.b >= 1.0 ? 255 : (BYTE)(Color.b * 255);
【问题讨论】:
-
是的。此操作通常称为“夹紧”。
-
该代码将每个颜色分量从
0.0到1.0范围内的浮点值转换为0和255之间的整数值。