Tessellation (曲面细分) Displacement Mapping (贴图置换)

DirectX 11 Tessellation (曲面细分)—什么是 Tessellation (曲面细分) ?它为什么能够起到如此重要的作用?

随着最近人们对 DirectX 11 的议论纷纷,你可能已经听说了有关 DirectX 11 最大新特性 Tessellation (曲面细分) 的大量介绍。作为一个概念, Tessellation (曲面细分) 非常直截了当,就是处理一个多边形分成诸多小碎片。但是为什么这样的处理方式能够备受瞩目呢?它是如何帮助提升游戏画质的呢?本文中,我们将分析 Tessellation (曲面细分) 之所以能够为 PC 3D 图形带来深刻变革的原因,并阐释一下 NVIDIA® GeForce® GTX 400 系列 GPU 如何提供突破性的 Tessellation (曲面细分) 性能。

从本质上来讲, Tessellation (曲面细分) 是一种将多边形分解成更加细小的碎片以提升几何逼真度的方法。例如,如果处理一个正方形并将其沿对角线切开,那么实际上就是将这一正方形“曲面细分”成为两个三角形。就其本身而言, Tessellation (曲面细分) 并不能提升半点逼真度。例如,在游戏中,一个正方形被渲染成为两个三角形还是两千个三角形都是无关紧要的。只有在使用新三角形来描述新信息时, Tessellation (曲面细分) 才能提升逼真度。

当一个置换贴图 (左) 应用到平面上时,所生成的表面 (右) 就会表现出置换贴图中所编码的高度信息。

运用新三角形最简单、最流行的方式就是有“ Displacement Mapping (贴图置换) ”之称的技术。置换的贴图就是一个存储高度信息的纹理。当应用到某一表面上时,该贴图让这一表面的顶点能够根据高度信息调高或调低。 例如,使用一块大理石板,图形艺术家能够通过“置换”顶点的方法打造雕刻效果。另一种流行技术是将置换的贴图应用到地形上,以雕琢出弹坑、峡谷以及山峰。

正如 Tessellation (曲面细分) 一样, Displacement Mapping (贴图置换) 已经存在很长一段时间了。但是直到最近,它才真正流行起来。究其原因,是因为想要让 Displacement Mapping (贴图置换) 有效,表面必须由大量顶点构成才行。以大理石雕刻为例,如果大理石块由八个顶点构成,那么在它们之间便没有可以生成龙形浮雕的相对置换量了。只有在基础网格中具备足够多的顶点用以描绘新形状时才能够生成细致的浮雕。从本质上来讲, Displacement Mapping (贴图置换) 需要 Tessellation (曲面细分) ,反之亦然。

随着 DirectX 11 的问世, Tessellation (曲面细分) 与 Displacement Mapping (贴图置换) 终于实现了珠联璧合,广大开发商已经加入到这一阵营当中。像《Alien vs. Predator》以及《地铁2033》这样的流行游戏均采用了 Tessellation (曲面细分) 来生成外观平滑的模型,而开发商Valve公司与 id Software 已经完成了一些前景看好的工作,将这些技术应用到其现有的游戏人物身上。

当一个粗糙的模型 (左) 经过 Tessellation (曲面细分) 处理后,就会生成平滑的模型 (中间)。当应用了贴图置换之后 (右),游戏人物便接近电影般的逼真度了。 © Kenneth Scott、id Software版权所有。2008

因为DirectX 11 Tessellation (曲面细分) 流水线是可编程的,因此可以用它来解决大量图形问题。让我们来看一看四个实例。

完美凹凸贴图

从本质上来讲,Displacement Mapping (贴图置换) 可被用作现有凹凸贴图技术的临时替代技术。例如法线贴图等当前的技术通过更佳的像素渲染,能够创造出凹凸表面的假象。所有这些技术都只在特定情况下有效,并且在其起效时并不是全都那么逼真。下面以凹凸贴图中较为先进的视差遮蔽贴图为例进行说明。虽然它能够生成重叠的几何假象,但是它只能在平面上以及物体内部起作用 (见上图)。真正的 Displacement Mapping (贴图置换) 不存在这些问题,能够从所有视角生成精确的结果。

更加平滑的人物

无需艺术家手工输入,PN-Triangles 可实现游戏人物的自动平滑。几何与光照逼真度均能够得到提升。

细化算法是 Tessellation (曲面细分) 的另一个自然搭档。细化算法可处理粗糙模型,借助于 Tessellation (曲面细分) ,该算法可创建外观更加平滑的模型。PN-Triangles (也称作N-patches) 就是一个流行的实例。PN-Triangles算法能够将低分辨率模型转化为弯曲表面,该表面然后可以被重新绘制成由“高精曲面细分”的三角形所组成的网格。在当今游戏中,我们认为理所当然的大量视觉假象都可以借助此类算法来消除。这些视觉假象包括人物关节处呈现块状图案、汽车轮子呈多边形外观以及面部特征粗糙。例如,《Stalker: Call of Pripyat》中就使用了 PN-Triangles 来生成外表更平滑、更自然的人物。

无缝的精细度

在具有大型、开放式环境的游戏当中,用户可能会注意到,远处的物体经常会时而出现、时而消失无。这是由于游戏引擎正在不同精细度 (LOD) 之间进行切换,以限制几何工作负荷。因为需要为同一模型或环境保存多个版本的数据,所以直到那个时候,都还没有一种简单的方法能够连续改变精细度。动态 Tessellation (曲面细分) 通过即时改变精细度,解决了这一问题。例如,当远处的建筑物首次映入眼帘时,也许仅使用10个三角形来渲染它。随着用户视野的拉近,该建筑物的显著特征开始浮现,更多三角形则被用来描绘窗子和屋顶等细节。当你最终到达门口时,单单旧式铜质门把手一项就动用了一千个三角形来进行渲染;Displacement Mapping (贴图置换) 细致地雕刻出了每一道凹槽。由于消除了动态 Tessellation (曲面细分) 对象的时隐时现,因此游戏环境现在可以扩展至几乎无限的几何精细度。

收放自如的艺术品

对开发商来说, Tessellation (曲面细分) 大幅提升了其内容创作流水线的效率。在描述其使用 Tessellation (曲面细分) 的动机时,Valve 公司的 Jason Mitchell 表示:“我们对能够编辑游戏内容这一点很感兴趣,因为这样就让我们能够实现缩放了。也就是说,我们想要只制作一次模型,然后便能够将其提升至电影画质…反之,我们想要能够自然地降低游戏内容的画质,以满足在特定系统上实现实时渲染的需要。”这种仅创建一次模型便可在各种平台上使用的能力意味着缩短了开发时间。对PC游戏玩家来说,这意味着在其GPU上能够实现最高的图像画质。

GeForce® GTX 400 GPU(图形处理器)如何处理 Tessellation (曲面细分)

传统的GPU(图形处理器)设计采用单个几何引擎来执行 Tessellation (曲面细分) 任务。这种方法是类似早期的GPU设计,此类设计均使用利用单个像素流水线来执行像素着色。在认识到像素流水线是如何从一个单元发展为多个并行单元以及这一进展是如何在3D逼真度方面大放异彩之后,我们便从一开始就设计了自己的并行 Tessellation (曲面细分) 架构。

GeForce® GTX 400 GPU (图形处理器) 拥有最多15个 Tessellation (曲面细分) 单元,每一个单元都具备针对顶点拾取、 Tessellation (曲面细分) 以及坐标变换的专用硬件。它们利用4个并行光栅引擎来进行运算,这些引擎可将新近曲面细分的三角形转换成精细像素流以便用于着色。这样一来, Tessellation (曲面细分) 的性能便实现了巨大突破,持久性能达每秒16亿三角形以上。与最快的同类产品相比,GeForce® GTX 480 的速度最高可达7.8倍。这一数据由独立网站Bjorn3D所测得。

结语

经过多年的反复试验, Tessellation (曲面细分) 终于在PC上获得了成功。《地铁 2033》等优秀游戏已经展现了 Tessellation (曲面细分) 的潜力。最终, Tessellation (曲面细分) 将成为同像素着色一样关键、一样必不可少的技术。由于意识到了 Tessellation (曲面细分) 的重要性,NVIDIA® 公司从一开始便打造并行 Tessellation (曲面细分) 架构,推动这一进程。成果就是 GeForce® GTX 400 系列 GPU (图形处理器)—几何逼真度与 Tessellation (曲面细分) 性能的真正突破。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 07:30:08

Tessellation (曲面细分) Displacement Mapping (贴图置换)的相关文章

Unity3d 使用DX11的曲面细分

Unity3d surface Shaderswith DX11 Tessellation Unity3d surface shader 在DX11上的曲面细分 I write this article, according to the unity3d official document, and look up some data in the web, and add to some idea by myself. 根据官方文档,并查阅了一些资料加上我个人的理解写出此文. I write

使用directx11实现曲面细分

环境:windows8.1,vs2013,directx11 曲面细分主要增加三角形的数量,使得表面和边缘更平滑和精细.    多年来,置换纹理映射是高端渲染器独有的功能,如RenderMan,而那时的实时的程序接口,如OpenGL和DirectX,则缺少对这个技术的支持.Direct3D11添加了曲面细分功能技术,使得置换纹理映射的实现变得容易. 原理: 着色器主要包括外壳着色器.曲面细分阶段和域着色器阶段. 1.外壳着色阶段 外壳着色器阶段主要为每个片元进行曲面细分因子的设置和片元控制点的输

第九章 Normal Mapping and Displacement Mapping

第九章 Normal Mapping and Displacement Mapping 本章主要讲述两种图形学技术,支持在不增加objects的poly primitive的情况下,在场景中增加更多的细节.第一种是normal mapping,通过创建一些"fake" geometry(虚设的多边形图元)模拟光照作用.第二种是displacement mapping,根据纹理数据moving vertices actually(与"fake"相对应,这里指真实的移动

unity3d 制造自己的水体water effect(一)

first,I wish you a happy new year, and study in spring festival's eve means you are hardworking,haha. I write in two languages. One passage write in Chineseone passage translate into English. My English is poor., If I write some thing wrong, welcome

unity3d 制造自己的水体water effect

first,I wish you a happy new year, and study in spring festival's eve means you are hardworking,haha. I write in two languages. One passage write in Chineseone passage translate into English. My English is poor., If I write some thing wrong, welcome

Nvidia SDK11 之 PNPatches(细化算法技术学习)

PN-Triangles (也称作N-patches) 是比较流行的处理粗糙模型细分算法技术,PN-Triangles算法能够将低分辨率模型转化为弯曲表面,该表面然后可以被重新绘制成由"高精曲面细分"的三角形所组成的网格,经常借助于Tessellation (曲面细分) 技术创建外观更加平滑的模型. 在当今游戏中,我们认为理所当然的大量视觉假象都可以借助此类算法来消除.这些视觉假象包括人物关节处呈现块状图案.汽车轮子呈多边形外观以及面部特征粗糙. 图1 曲面细分技术 无需手工输入,PN

浅析DirectX11技术带给图形业界的改变(一) 浅析DirectX11技术带给图形业界的改变【转】

浅析DirectX11技术带给图形业界的改变(一) 浅析DirectX11技术带给图形业界的改变 前言:2009年10月23日,微软高调发布了其最新一代操作系统——Windows7,这款操作系统相对于之前的Vista系统有相当大的进步,特别核心执行效率方面得到显著改善,并且加入了DirectX 11等新技术.微软此次推出全新图形API——DirectX 11目的很明确,就是能够充分利用显卡资源,旨在游戏以及通用计算方面达到更高的执行效率.今天本文就带大家一起分析DirectX 11技术带给图形业

CSharpGL(31)[译]OpenGL渲染管道那些事

+BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一个不错的突破口. 本文通过阅读.翻译和扩展(https://www.opengl.org/wiki/Rendering_Pipeline_Overview)的方式,来逐步回顾总结一下OpenGL渲染管道,从而串联起OpenGL的所有知识点,并期望能在更高的层次上有所领悟. 另外,(https://www.opengl.org/wiki/Rendering_

OpenGL核心技术之Parallax Mapping

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. CSDN视频网址:http://edu.csdn.net/lecturer/144 本篇博客主要是介绍Parallax Mapping也被称为视差贴图和法线贴图差不多,但它有着不同的原则.和法线贴图一样视差贴图能够极大提升表面细节,使之具有深度感.它也是利用了视错觉,然而对深度有着