详解凹凸、法线视差位移贴图via猪_第1页
详解凹凸、法线视差位移贴图via猪_第2页
详解凹凸、法线视差位移贴图via猪_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

凹凸贴对于凹凸贴图在计算机图形领域中的研究,最早开始于70年代末,至今已经有接近30年历史了。NormalMapXBOX360PlayStation3CGFXCarlBumpMap。这种贴图是一种灰度图,用表面在游戏中,所使用的算法确切的说应该叫做fakebumpmap,假凹凸贴图。因为在游戏中BumpMap并没有改变物体的表面而只是影响光照的结果,眼睛而已。最简单的做BumpMap些诸位会比小的更擅长。而计算复杂度是基本加减法。这个所谓的FakeBumpMap从Geforce2不过有趣的是,BumpMap这个东西却从未过时,在后来的渲染算法中,其表面高度域NormalMap在游戏领域中的实践是一个非常值得记住的时期--Geforce3上市,GPU概念出现,硬件可编程流水线的出现(Shaders),NormalMap是一种凹凸贴图技术,它的另外一个名字叫做Dot3bumpmap。种。我们先说说这张叫做NormalMap的图。这张图中的东西是每个原始表面法线的迭3D法线就像是一根站立于桌面的钢笔,垂直向上。而NormalMap中的东西就是我们这支15NormalMapNormalMap,一种叫做切空间的NormalMapNormalMapBumpMapNormalMapZUVXY(确切的说,应该是称作切线和负法线,但是这两个东西和大家熟悉的UV坐标刚好,所以就用大家更习惯的说法了)XYZ在-11(不用多解释,大家知但是,请大家注意,我们在描述色彩的时候,RGBXYZN+1/2这样就把所有的法线压缩到了0和1的范围里。然后我们把XYZ的方向分别在RGB三NormalMapXYZ0,0,112,0.5,0.5,1RGB128,128,255P.S.现在FXCarl和你猜个谜,看看FXCarl说的对不对。现在我们在NormalMap上看见一个颜色,这个颜色是219,128,219。那么这个表面的法线方向是垂直向右偏45度。大家用MAXNormalMapFXCarl如果你还没有理解NormalMap的意思,或者说你有再深入了解一些,那么FXCarl再和90上这个点的切空间坐标了!大家一定想到了原来我们的NormalMap中的表面法线方向3DNormalMapNormalMap,可是我God~NormalMapNormalMap了。恩,不过这个大家可以放心,MAXMayaNormalMapNormalMapPhongGround3D3D了Shaders出现之后才有的,因此NormalMap也是一个Shaders必须的算法。计算一NdotLNdotL,就是物体表面的法线和容易:Diffuse=saturate(Mul(Normal,Light));。想要简单的理解就是--光线的方向NormalMap。这时我们的光照计算和以往有点不同,我们把表面的法NormalMap句--NormalMapNormalMap面上的形状。因此,表面上看来,似乎只要是不接近水平,NormalMap题。其实不然,NormalMapNormalMap让我们看不见那支牙签。可是NormalMap却不会这么做。因此能看见物背后NormalMap的作用。这样一来,NormalMapNormalMap值得推广的。后面的几种新兴算法其实都是由NormalMap发展起来的,因此做为基础NormalMap,NormalMapBumpMapBumpMapNormalMapOnTheFly(就是让游戏引擎直接读BumpMapNormalMap)。因此对于一些建起模来效率很低,但是又能明显增加表面细节的东西,例泥表面的颗粒,用画Bump的方式来做是个更好的主意,然后交给技Z-BurshFXCarlMAXUVBumpMapBumpMapNormalMap。Parallaxmap视差贴图(因为后面的算法都是基于NormalMap的应用,可能看上去没有NormalMap那么长了,但内容肯定一样的!)视差贴图是一种NormalMap算法的增强算法,其本质上和NormalMap没有区别。3HLSL(GPU以忽略)NormalMap,Parallaxmap基本上都有--特别是视角接近平行的时候,凹凸感的问题,并没有明显改NormalMap去。或者按照FXCarl个人的说法--Parallaxmap才是真正具有实用价值的目前实践证明,这种技术非常适合XBOX360和PS3这样的新世代游戏主机(都上市一年了还用次世代……受不了现在有些人)。例如360游戏SEGA犯就是使用的和PC戏FEAR一样的Monolith引擎--使用Parallaxmap。Parallaxmap使用的还是单张的控制纹理。一张NormalMap。如果我们用AcdSee来看这张NormalMap,我们会发觉似乎和NormalMap用的控制纹理是一样的。而如果我们打开这张NormalMap的Alpha通道,就会发现其中的所在。原来Alpha通道里的NormalMapBumpMap!(HeightMap,就是用饱和度记录表面高度)照大家这么多年美术做下来的经验,对于图素(Texel,纹理上的一点)的理解肯定是RBG3个 的Alpha通道。但是在我们的渲染器和程序员的眼里,它可不是我4(其实可以理解成四个数的组合)。这4个数字的取值范围分别是0到255。通过这个空间,其实可以用来做别的事情--最常用的就是记录表面的物理细节。至于为什么要用控制纹理呢?FXCarlNormalMapNormalMapNormalMapNvidia的DEMO曾经用纹理物体表面在阳光下的色彩变化规律。把艺术家想要实时改Parallaxmap是如何达到增加NormalMap的效果的呢。我们要从NormalMap的特性说NormalMap正确的,要知道背后的东西应该是看不见的才对。因此Parallaxmap就是来缓解这个素的而不见了--很明显,这个算法是不太站得住脚的,虽然计算的时候会参考玩家NormalMapAlphaShaderModel3.0DisplacementMapDisplacementmap位移贴和前面说的几种方式不同,DisplacementMap是一种真正改变物体表面的方式。通过同的微多边形。这个过程叫做镶嵌。然后一张Bump贴图。根据表面的灰度确定高度。ZBrushZbrush首先就是,对硬件的要求很高,必须支持ShaderMode3.0才可以,因为只有支持SM3才可而没有影响)DX10实要更为合理。给予画面特效的机会,同时更有趣的是,其实他和其他基于象素的凹凸贴图并没有什么。其实这种位移贴图在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论