我有两个光源,三个球体和两个三角形。球体放在两个三角形上。 我alrady做了intersectSphere和computeColorSphere函数。 我以某种方式开始实现intersectTriangle和computeColorTriangle函数。 它与Sphere函数有什么不同? 如何在三角形平面上实现球体的阴影?http://i60.tinypic.com/a3zg2w.jpg
答案 0 :(得分:2)
计算投射阴影按如下方式进行:当你用光线击中表面并在那里应用照明模型时,你可以添加所有光源的贡献(就像你做的那样);但是你需要通过将二次射线从击中点投射到光源来检查光源是否没有障碍物。如果您发现障碍物,请忽略此来源的贡献。
非常相似,您可以通过在反射方向上投射二次光线(入射角=反射角)并查看是否碰到另一个曲面来实现反射。