我正在射线追踪器中实现区域照明。在简单的球体obj模型中(即,球体由三角形组成),会显示平方块。如何使球体表面光滑?
我怀疑表面法线的计算必须是固定的。
当前,对于每个三角形,将为其包含的所有点计算单个法线。
这是领域:
答案 0 :(得分:0)
之所以显示正方形补丁,是因为您仅看到组成obj模型的三角形。查找具有更多三角形的obj模型,或使用纹理映射使表面平滑。如果您正在寻找一种计算有效的方法来绘制球体,则可以为球体创建碰撞算法。我不知道您在光线跟踪项目中进行了多么低级的工作,但是如果您为三角形定义了反射算法,则可以很容易地为一个球体做一个。我在这里创建了可视化效果:
https://www.geogebra.org/m/g9rrhttp
如果需要,您可以查看。如果您不想实现此新算法,则可以查找带有纹理的obj模型。纹理将使它显得光滑。