置换贴图,凹凸贴图,法线贴图和位移贴图的区别

本文详细介绍了游戏开发中的几种贴图技术,包括视差贴图(Parallax mapping)、凹凸贴图(Bump Mapping)、法线贴图(Normal Mapping)和位移贴图(Displacement Mapping)。视差贴图通过简单增强NormalMapping算法提供更深度感,适合新世代游戏主机。凹凸贴图通过灰度图模拟表面凹凸,而法线贴图通过改变光照效果产生凹凸感,但存在视角问题。位移贴图则能真正改变物体表面形状,对硬件要求较高。此外,还提及了浮雕纹理贴图、视差阻塞贴图和圆锥跟踪贴图等面向未来的先进技术。
摘要由CSDN通过智能技术生成

这是一篇网上转载了很多便的文章,由于其针对贴图技术的介绍很全面,收藏之。

 

1.Parallax mapping 视差贴图

(因为后面的算法都是基于NormalMap的应用,可能看上去没有NormalMapping那么长了,但内容肯定一样精彩的!)

视差贴图是一种NormalMapping算法的增强算法,其本质上和NormalMapping没有区别。优势是只需要增加3个HLSL语句和一个控制纹理通道(只需要几个GPU指令,代价小到可以忽略)就可以显著的增加物体表面的深度感。但是NormalMap中出现的问题,Parallax mapping基本上都有--特别是视角接近平行的时候,凹凸感消失的问题,并没有明显改善--其实这个使用NormalMap带来的问题就像是液晶屏的可视角度问题一样令人挥之不去。或者按照FXCarl个人的说法--Parallax mapping才是真正具有实用价值的NormalMapping。

目前实践证明,这种技术非常适合XBOX360和PS3这样的新世代游戏主机(都上市一年了还用次世代……我真受不了现在有些人)。例如360游戏SEGA死刑犯就是使用的和PC游戏FEAR一样的Monolith引擎--使用Parallax mapping。

Parallax mapping使用的还是单张的控制纹理。一张NormalMap。如果我们用AcdSee来看这张NormalMap,我们会发觉似乎和NormalMapping用的控制纹理是一样的。而如果我们打开这张NormalMap的Alpha通道,就会发现其中的玄机所在。原来Alpha通道里存储的是对应这张NormalMap的BumpMap!(就是HeightMap,就是用饱和度记录表面高度)

现在插入一点理论课程。大家留心读上面的文字,会看见一个控制纹理的词汇。这个词汇是这里要重点解释的。因为理解控制纹理,在成为新世代美工的需求中是相当重要的。按照大家这么多年美术做下来的经验,对于图素(Texel,纹理上的一点)的理解肯定是RBG3个色彩带一个表示透明度的Alpha通道。但是在我们的渲染器和程序员的眼里,它可不是我们美术朋友们看见的东西。他们看见的是一个4通道的矢量(其实可以理解成四个数的组合)。这4个数字的取值范围分别是0到255。通过这个空间,其实可以用来做更多别的事情--最常用的就是记录表面的物理细节。至于为什么要用控制纹理呢?FXCarl前两天听一个朋友有这么个说法:我觉得NormalMap的效果也没什么,直接画也画的出来的。其实这个说法一点都没错,但是要知道,这个想法是过时的。因为NormalMap并非用于著色,而是用于更真实的生成色彩。重所周知,用画的方式,做静帧固然可以做到无限好。可是动起来怎么办?如何才能保证在不同的光照关系下依然保证最终著色的结果正确?唯一的做法,就是每帧重画一遍。如何才能做到最有效的重画?那就要把重画的参考告诉我们的渲染器,让它来帮你做一些简单的工作,这就是控制纹理的作用--把你想要实时改变的东西告诉渲染器。其实控制纹理的范围很大,除了NormalMap还有很多,比如说Nvidia的DEMO曾经用纹理存储物体表面在阳光下的色彩变化规律。把艺术家想要实时改变的东西压缩在纹理中告诉渲染器是一件相当有挑战性的工作,当然也会获得更令人赞叹的画面。请接受控制纹理,那是让艺术家把一个瞬间的精确著色变成一个普遍适用的著色的利器!

Parallax mapping是如何达到增加NormalMap的效果的呢。我们要从NormalMap的特性说起。我们假设在NormalMap表面制作一个凸起。然后我们转转角度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值