c - 如何将阴影放入光线跟踪球体



我对光线追踪有问题。我可以创建球体,但 ı 不能给出阴影。您必须在命令行(cmd)中编译此代码。我们怎样才能在这三个球体上盖上阴影。当你编译这个代码时,你可以看到3个球体和光也发光。但是没有影子请帮助我。谢谢

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

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

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

最新更新