我怎样才能将阴影置于光线追踪范围内

时间:2014-03-29 17:05:46

标签: c graphics raytracing

我有关于光线追踪的问题。我可以创建球体,但不能给阴影。您必须在命令行(cmd)中编译此代码。我们如何在这三个球体上设置阴影。当你编译这个代码时,你可以看到3个球体和光线也闪耀。但没有影子请帮助我。 谢谢

1 个答案:

答案 0 :(得分:2)

您需要将场景/光线交叉逻辑概括为函数。然后,该功能可用于跟踪来自摄像机的光线以及其他物体上的交叉点。

这个想法是当相机光线照射到物体上时,您会从该交叉点到每个光源创建一条新光线,然后再次运行光线/场景交叉点。如果其中一条光线与一个比光源更近的物体相交,那么它就不会为那一点贡献任何能量。

您还可以计算反射光线并递归确定其颜色,并使用对象的表面属性对其进行调制。你会想要限制递归的深度,这样你就不会陷入无限的镜子里。