Octane 特定功能和扩展
OctaneRender® 是一个光谱渲染器,因此它以某种非标准的方式处理颜色变量类型。
光谱和 RGB
根据返回给定颜色值的内容,颜色变量在内部表示为 RGB 或光谱颜色。当表达式同时使用 RGB 颜色和光谱颜色时,RGB 颜色会转换为光谱颜色。
A 是 RGB 颜色:
color a = 1;
B 是 RGB 颜色:
color b = {1, 0.5, 0};
C 是光谱颜色:
color c = _gaussian(1, 0.5, 0.01);
将两个 RGB 颜色相加会产生另一个 RGB 颜色:
color d = a + b
注意: 将光谱颜色添加到另一种颜色总是会产生光谱颜色。
在实践中,大多数颜色最终都表示为 RGB 颜色。主要例外是黑体和高斯光谱。
RGB 颜色支持元素访问(使用 [])和转换为类似点的类型。对于光谱颜色,这可以作为近似来完成,结果将具有较差的颜色保真度。如果发生这种情况,编译器将发出警告。
要了解有关使用 [开放着色语言](javascript:void(0);.md) 编程的更多信息,请参阅 Octane OSL 指南。
