现实物理世界中,光由光子组成,光子是由波长的。
人的眼睛有种细胞可以感应光的波长,我们只是用红绿蓝作为基础的三原色理由是
这三种颜色非常接近人眼光锥细胞的响应曲线的中心区域。
真实世界光的频率和波长是连续变化的,计算机的帧缓存只能使用变化较小的离散数值表示。
OpenGL中如何使用颜色?
片元着色器将负责设置每个片元的颜色,有多种方式实现这一目的:
- 给每个片元设置一个常亮颜色值。
- 每个输入的顶点附带一个颜色数据,可以在其他着色阶段修改后再传入片元着色器,用它判断颜色值。
- 在片元着色器中使用计算来生成颜色值。
- 外部数据,纹理贴图中的数字图像,通过纹理映射技术。