【问题标题】:Smooth cone normals平滑圆锥法线
【发布时间】:2012-08-21 02:57:46
【问题描述】:

我正在尝试计算圆锥的平滑法线。在四处寻找代码示例和解释时,我总是遇到面部法线的方向。我在下面发布了几张我正在做的事情的照片。第一个 - 基本上只是标准化顶点位置 - 给了我相当平滑的阴影,但边缘“缺失”并且底面不是实心的。第二个有边缘,但阴影是平的(面法线),我的光没有正确反射它们。

圆锥体由 GL_TRIANGLES 构建而成。

点击图片查看大图。


(来源:bantherewind.com)


(来源:bantherewind.com)

【问题讨论】:

    标签: opengl mesh surface smoothing normals


    【解决方案1】:

    在除顶点之外的圆锥表面上的任何一点上,都有两种明显的切向量:一种与横截面圆相切,一种与斜率相切。如果将曲面表示为具有两个参数的参数方程,则可以将这些切向量作为两个偏导数。取切线的叉积,得到法向量。产品的顺序决定了正常点是向内还是向外。当然,底面必须单独处理。

    【讨论】:

    【解决方案2】:

    除了answer by JWWalker 我想指出的是,顶点是一个完整的向量元组,其中包括位置和法线。所以如果你在一个位置有不同的法线,你就会得到不同的和多个顶点。

    在圆锥的情况下,这很重要,因为圆锥的尖端不是一个单一的顶点,而是它们的一整套(圆锥的外套的每个三角形都有一个尖端顶点。然后对于你得到的基圆在每个位置有两个顶点,一个用于顶点的三角形,一个用于底面。

    尖端和边缘都是不连续的,因此需要使用单独的顶点来绘制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多