首页 > 解决方案 > 圆锥尖端的法线

问题描述

我正在使用 WebGL,移植一些用 OpenGL 编写的旧程序。有一个具有阿基米德螺旋基的圆锥。它从 0 到 Math.PI,并在相反方向上与 X 轴对称。问题在于锥形尖端的照明过渡,它不平滑。但它在金字塔的基础上是平滑的。

左边分为十个扇区,右边分为四十个扇区。问题在两者上都是可见的。法线计算为每个点中阿基米德螺旋的梯度。

在此处输入图像描述

我理解它为什么会发生,并且在几何上它应该发生在任何形状上。但以防万一,这个炉膛锥的上部有方程:
螺旋被描述为 F(φ) = [φ * cos(φ), φ * sin(φ)]
计算出的法线 ∇F(φ) = [sin(φ) + φ * cos(φ), -cos(φ) + φ * sin(φ)]
Z 坐标在我们的例子中并不重要。

特别是我尝试了不同的建议,例如如下所述:Low polygon cone - smooth shading at the tip
但它的工作方式与 gl.TRIANGLE_FAN 类似,它的作用不同,尖端淡化为单一颜色,然后插值到其他法线每个三角形的。

已解决:谢谢大家。解决方案按预期工作,请参阅以下设置屏幕截图。左边是一个分成十个扇区的圆锥体,右边是一个分成四十个扇区的圆锥体。锥形固定

标签: 3dwebgl

解决方案


推荐阅读