我试图实现一个简单的物理精确光线跟踪器。我让它以灰度工作(光强度很强),但是我在用颜色挣扎。
如何计算有色(非白色)光与表面之间的关系。说浅色是rgb(1.0,0.9,0.8),表面是rgb(0.8,0.9,1.0)?
答案 0 :(得分:0)
以非常基本的方式
假设您选择了phong着色模型,或者您选择不做任何特定的着色。
代码:
Color3 trace(..)
{
...
Color3 ambient = object.color * 0.3;
Color3 phong = phongModel(..) or object.color;
Color3 reflection = trace(..);
return ambient + phong + reflection;
}