实验六:凹凸纹理映射技术

实验六:凹凸纹理映射技术

ID:7823185

大小:383.50 KB

页数:11页

时间:2018-02-27

实验六:凹凸纹理映射技术_第1页
实验六:凹凸纹理映射技术_第2页
实验六:凹凸纹理映射技术_第3页
实验六:凹凸纹理映射技术_第4页
实验六:凹凸纹理映射技术_第5页
资源描述:

《实验六:凹凸纹理映射技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验六:凹凸纹理映射技术一、实验目的掌握凹凸纹理映射的原理,熟悉Ogre中纹理映射的使用方法。二、实验仪器pc、vs2005三、实验原理及过程1、网上检索凹凸纹理映射相关技术凹凸纹理映射是一种纹理混合方法,它可以创建三维物体复杂的纹理外观表面。普通的纹理映射只能模拟比较平滑的三维物体表面,难以显示表面高低起伏、凹凸不平的效果。凹凸纹理映射能够通过一张表示物体表面凹凸程度的高度图(称为凹凸纹理),对另一张表示物体表面环境映射的纹理图的纹理坐标进行相应的干扰,经过干扰的纹理坐标将应用于环境映射,从而产生凹凸不平的显示效果。凹凸纹理映射通常由三张纹理映射图组成,第一张纹理图表示物体表面原

2、始纹理颜色,第二张凹凸纹理图表示物体表面凹凸的高度起伏值,用来对下一张环境纹理图坐标进行干扰,第三张纹理图表示周围镜面反射或漫反射光照的环境光照映射图。让我们来看看一个粗糙的表面。从远处看,你判断这个物体是粗糙的的唯一证据是在它表面上下的亮度有改变。你的大脑能够获得这些亮暗不一的图案信息,然后判断出它们是表面中有凹凸的部位。左边的一幅图就说明了这一点。你可以发现它是一个浮雕式的表面。一些矩型和字母被印入表面,但是它们摸上去就像是一个隐藏的监控器的玻璃。如果这个图像是在适当的位置上,那么它除了改变亮度,不需要再做任何其他的工作。那么你也许会问:我是怎么知道哪些点要亮,哪些点要暗呢?这

3、不难。绝大多数人生活在这样一种环境下——这个环境的大多数光源来自上方(译者注:比如白天主要的光来自太阳,夜晚主要的光来自天花板上的日光灯)。所以向上倾的地方就会更亮,而向下倾的地方就会更暗。所以这种现象使你的眼睛看到一个物体上亮暗区域时,可以判断出它的凹凸情况。相对亮的块被判断是面向上的,相对暗的块被判断是面向下的。所以我只需要给物体上的线条简单得上色。如果你想要更多的证据,这里还有一幅几乎相同的图,不同于前的是它旋转了180度。所以它是前一幅图倒转的图像。那些先前看起来是凹进去的区域,现在看起来是凸出来的了。凹凸映射(凹凸纹理)BumpMapping这个时候你的大脑并没有被完全欺

4、骗,你脑中存留的视觉印象使你仍然有能力判断出这是前一幅图,只是它的光源变了,是从小往上照的你的大脑可能强迫性地判断出它是第一幅图。事实上,你只要始终盯着它,并且努力地想像着光是从右下方向照射的,你就会理解它是凹的(译者注:因为日常生活的习惯,你会很容易把这些图形判断成凸出的图形,但是因为有了上一幅对照图的印象,你可能才会特别注意到这些图块其实还是凹入的,只是判断方法不符合我们日常生活习惯,因为这时大多数光不是从上方照射,而是从下往上照射)。凹凸纹理映射技术可以用来模拟粗糙物体表面凹凸不平的细节,如:橘子、草莓、树皮等。凹凸纹理映射最早只能用于离线绘制系统,随着图形硬件的发展,他已经

5、成为游戏引擎中不可缺少的部分。最早的凹凸纹理映射使用一个高度图和曲面参数(通常是纹理坐标)的偏导数计算扰动后的法向。这个偏导数表明了物体表面改变的尺度。理论上,凹凸映射中涉及的法向操作实在像素层次上的。凹凸纹理映射的步骤如下:(1)计算每个顶点处的T、B、N,并计算切平面坐标的矩阵。(2)根据该矩阵将光源变换到切平面空间,变换后光源的x、y即顶点的相邻点。(3)从凹凸纹理中取出顶点和相邻点处的高度,根据两者的法向量计算出顶点的新法向,再根据新法向量进行光照明计算。2、利用Ogre实现凹凸纹理映射描述程序实现时的思路包括对每个调用的API进行详细说明1)顶点渲染主函数:VS_OUTP

6、UTVS(float4Pos:POSITION,float2Tex:TEXCOORD,float3Normal:NORMAL,float3Tangent:TANGENT){……}2)像素渲染器主函数:PS_OUTPUTPS(float2Tex:TEXCOORD0,float3Light:TEXCOORD1,float3View:TEXCOORD2,float3Att:TEXCOORD3){……}四、实验结果五、实验心得本次实验主要掌握凹凸纹理映射的原理,熟悉Ogre中纹理映射的使用方法;凹凸纹理映射是一种纹理混合方法,它可以实现三维物体复杂的纹理表面,普通的纹理映射只能模拟比较平滑

7、的三维物体表面,而凹凸纹理映射经相应的技术可以产生凹凸不平的显示效果,凹凸纹理映射技术可以用来模拟粗糙物体表面凹凸不平的细节;凹凸映射和纹理映射非常相似。然而,纹理映射是把颜色加到多边形上,而凹凸映射是把粗糙信息加到多边形上。这在多边形的视觉上会产生很吸引人的效果。我们只需要添加一点信息到本来需要使用大量多边形的物体上。需要注意的是这个物体是平的,但是它看起来却是粗糙不平的。让我们来看看左边的那个立方体。如果你很近地观察它时,你会发现它上面的很多细节。它看起来好像是由

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。