Raytracer中的光衰减

时间:2015-04-13 19:38:09

标签: java raytracing light

我正在写一个光线追踪器,但是我遇到一些问题,因为光线与光源的距离应该如何下降。 似乎距离的值太高了,所以当我对它们进行平方并将强度除以它们时,我最终只得到一个黑色的屏幕。 如何在不影响场景的情况下改变像素上光源的强度。现在我的代码是

    finalColour.r += (diffuseColour.r * light.intensity.r * x /(distance*distance));
    finalColour.g += (diffuseColour.g * light.intensity.g * x /(distance*distance));
    finalColour.b += (diffuseColour.b * light.intensity.b * x /(distance*distance));

1 个答案:

答案 0 :(得分:2)

什么是x?数学看起来正确。你确定它不是场景配置的问题:使光强度/ diffuseColour更高,或者距离更小。或者,当光线随着距离的平方逐渐减小而光线下降时,您不需要在光线跟踪器中使用它。你可以使用不平衡的距离来获得不那么逼真但更明亮的场景。