【问题标题】:3D graphics: Normal mapping vs Bump mapping?3D 图形:法线贴图与凹凸贴图?
【发布时间】:2011-09-19 16:33:58
【问题描述】:

我知道法线贴图描述了在不增加多边形数量的情况下向网格添加细节的过程,并且这是通过使用特定的法线纹理来操纵光线应用于对象的方式来实现的。好的。

  • 那么什么是凹凸贴图呢?它只是法线贴图的另一种说法吗?
  • 视觉结果如何比较?两种技术可以结合使用吗?

【问题讨论】:

  • 据我所知,它们是等价的,但我会让其他人真正回答,因为可能有一些我不知道的微妙之处。

标签: opengl graphics 3d directx rendering


【解决方案1】:

凹凸贴图描述了一种模拟物体表面凹凸和皱纹的通用技术。这通常是通过在进行光照计算时操纵表面法线来完成的。

法线贴图是凹凸贴图的一种变体,其中表面法线通过纹理提供,法线嵌入到图像的 RGB 通道中。

视差贴图等其他技术也是凹凸贴图技术,因为它们会扭曲表面法线。

要回答问题的第二部分,它们可以很容易地结合起来。基础表面法线可以通过法线贴图确定,然后通过另一种凹凸贴图技术进行修改。

【讨论】:

    【解决方案2】:

    凹凸贴图最初是由 Jim Blinn 在 1978 年提出的。他的系统基本上是通过使用该纹素的高度和周围纹素的高度来扰动表面上的法线来工作的。

    这与 DUDV 凹凸贴图非常相似(您可能还记得 DX6 中引入的原始环境贴图凹凸贴图,即 DUDV)。这是通过预先计算上面的导数来实现的,这样您就可以错过计算的第一阶段(因为它不会改变每一帧)。

    法线映射是一种非常相似的技术,其工作原理是简单地替换每个纹素位置的法线。从概念上讲,它要简单得多。

    还有另一种产生“相似”结果的技术。它被称为浮雕凹凸贴图。此方法通过使用多通道渲染来工作。基本上,您最终会从最后一次传递中减去灰度高度图,但会根据光线方向稍微偏移它。

    还有其他模拟表面拓扑的方法。

    高程映射使用高度图作为 Alpha 纹理,然后通过该纹理以不同的 Alpha 值渲染多个切片,以模拟高度的变化。但是,如果执行不正确,切片可能会非常明显。

    置换贴图通过生成以纹理为基础的 3D 网格来工作。这显然会大大增加您的顶点数。

    陡峭视差、浮雕贴图等是最新技术。它们通过在高度图上投射光线直到它相交来工作。这有一个很大的优势,如果一个肿块应该阻挡它现在所做的纹理,因为光线不会击中它最初击中的高度图,所以总是显示“最近”的纹素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多