资源描述:
《Chapt-8-纹理映射技术ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、真实感图形绘制------纹理映射技术王长波博士华东师范大学软件学院计算机图形学提出问题真实感图形绘制:计算机图形输出设备上绘制出能够以假乱真的景象。如何表现物体表面的丰富细节?纹理映射技术是真实感图形的重要绘制技术之一.计算量太大!可以采用纹理映射技术!更精细的几何;更精确的光照计算;“Allittakesisfortherenderedimagetolookright”——JimBlinnExample1Example2Example3纹理映射的基本理论基本概念实现纹理映射的基本过程纹理几何映射关系处理纹理映射的实现纹理映射的D3D实现纹理映射的OpenGL实现高级
2、纹理映射技术介绍纹理优化处理技术多层纹理映射凸凹纹理映射环境映照技术提要Whatistexturemapping?“Allittakesisfortherenderedimagetolookright”——JimBlinn纹理贴图是一个用图像、函数或其它数据源来改变表面在每一处的外观的过程。例如,我们不必用精确的几何去表现一块砖墙,而只需把一幅砖墙的图像贴到一个多边形上。除非观察者非常靠近墙,否则我们并不会觉得缺少几何细节。既节省了大量的造型工作量,也节省了内存空间,加快了绘制速度。基本原理纹理映射----几何和图片之间的对应关系如何映射?纹理坐标:每个像素的纹理坐标就
3、是简单的(u,v)坐标,它指定了像素正准备被映射到的纹理的纹理单元。对应纹理图像,左下角为(0,0)右上角为(1,1);可以设定顶点在图像空间上的纹理坐标[txty],该象素就画对应该u,v坐标的RGB颜色;一般一个四边形的纹理坐标:(0,0)(0,1)(1,0)(1,1)通过纹理坐标:v0v1v2t2t0t1(1,1)(0,0)xyTextureSpaceTriangle(inanyspace)纹理空间与模型空间的对应基本实现步骤:ThreestepsSpecifytextureReadorgenerateimageAssigntotextureEnabletextu
4、ringAssigntexturecoordinatestoverticesSpecifytextureparametersWrapping,filtering,etc.一般为二维图片可以是一张图片(8位,24位,32位)也可以是实际生成的一张图片长宽尺寸为2的倍数1.读入纹理位图2.如何映射利用纹理坐标来定义从图片到几何的映射:要将该纹理映射到一个三角形上,需设置三角形的三个顶点在图像空间上的纹理坐标[txty],再对应计算每个几何像素在纹理图像上的对应RGB颜色;一般一个四边形的纹理坐标:(0,0)(0,1)(1,0)(1,1)3DGameStudio.3.纹理插值
5、我们只指定了三角形顶点处的纹理坐标,中间每个象素的纹理坐标(ti,tj)可用线性插值;一般双线性插值;从而三角形上每个象素点都可对应地到纹理图片上去取颜色.图像与几何体的尺寸不一致怎么办?思考?几何对应的纹理空间超出[0,1)纹理空间怎么办?几何物体本身有颜色怎么办?在硬件图形加速卡中,纹理图像的大小经常为2m×2n(或者2m×2m)的纹素,其中m和n为非负整数。但是几何尺寸不一定正好是2的倍数,另外几何尺寸可能与纹理图像尺寸差别很大;若投影得到的象素数目比原始纹理大,则需要把纹理图像放大(magnification);若投影得到的象素数目比原始纹理小,则需要把纹理图像
6、缩小(minification);问题1:纹理图像缩放(纹理采样方式)纹理放大一幅32×64的纹理应用到一矩形,非常近看。左图采用最近领域滤波,即对每个象素选择最近的纹素。右图采用最近四个纹素的双线性插值块状效果明显,质量差锯齿状消失,质量好如:双线性插值(Bi-lnearInterpolation)纹理缩小当纹理图像缩小时,多个纹素可能覆盖一个象素单元。为了得到每个象素正确的颜色,应该综合考虑影响该象素的那些纹素。棋盘格纹理多边形通过一行象素,显示多个纹素可影响单个象素1.点采样(Nearestneighbor)2.Mipmapping3.求和面积表(summedar
7、eatable)最近邻域法:选择在象素中心可见的纹素。但会引起严重的走样现象,见上图。当这类表面相对视点移动时,走样现象更加明显,称为时间走样(temporalaliasing)。双线性插值:效果仅比最近邻域法稍好,也会引起较严重的走样现象。Mipmap方式:对纹理进行预处理,建立多个纹素覆盖单个象素的快速逼近计算的数据结构。这样,一个采样点可以检索出一个或多个纹素的效果。TilingTextureSpace(0,0)(1,1)问题2:纹理重复方式(0,0)(1,1)(0,0)(1,1)ClampingMirroring常用对应函数wra