《图形学期末期末复习分解ppt课件.ppt》由会员分享,可在线阅读,更多相关《图形学期末期末复习分解ppt课件.ppt(135页珍藏版)》请在三一办公上搜索。
1、Beijing Normal University Zhuhai Campus,1,计算机图形学,2014,Computer Graphics,Beijing Normal University Zhuhai Campus,2,考核方式和评分标准 Assessment,平时Usually results:30%考勤 10%课堂练习、总结报告、测试、上机实验:20%2D3D项目Project:30%2D:15%3D:15%期末笔试paper exam:40%,期末笔试120分钟,单选题20分20题填空题20分20空简答题20分4问计算题20分3题编程题20分2题,Beijing Normal U
2、niversity Zhuhai Campus,3,第一章 概述,计算机图形学的概念、定义研究对象,Beijing Normal University Zhuhai Campus,4,Beijing Normal University Zhuhai Campus,5,计算机图形学的概念及其研究内容,计算机图形学是研究通过计算机将数据转换为图形,并在专门的显示设备上显示的原理、方法和技术的学科世界各国的专家学者对计算机图形学有着各自的定义。 IEEE的定义为:计算机图形学就是在计算机的帮助下生成图形图像的一门科学或艺术德国的Wolfgang K Giloi给出的定义是: 计算机图形学由数据结构、
3、 图形算法和语言构成。,第二章 图形系统,颜色模型刷新频率 像素帧缓存点距分辨率颜色的灰度值图形软件标准,Beijing Normal University Zhuhai Campus,6,北师大学珠海分校信息技术学院,7,7,Color Model,RGB模型CMY模型HSV模型YIQ模型OpenGL使用的是哪个颜色模型?,北师大学珠海分校信息技术学院,8,几个名词概念Some Concepts,刷新频率 Refresh rate在屏幕上重复画图的频率 像素Pixel每个屏幕上的点帧缓存frame buffer显示屏幕图像所需要的存储空间帧frame整个屏幕范围点距 spot distanc
4、e指荧光屏上两个同样颜色荧光点之间的距离分辨率resolution屏幕图像的密度。一般表示为水平线上面的点数乘以垂直线上面的点数,北师大学珠海分校信息技术学院,9,颜色的灰度值 Gray level,单色 1bit 256色 8bit65536 16bit 真彩色 24bit问题:真彩色图像在1024*768的屏幕分辨率下帧缓存需要多大?,考虑二个不同的光栅系统,分辨率依次为1024*768和1280*1024,如果每个像素存储24位,这二个系统各需要多大的帧缓存?如果每个像素存储32位呢?如果每秒能传输105位,每个像素有12位,装入1024*768的帧缓存需要多长时间?如果每个像素有24位
5、,装入1280*1024的帧缓存需要多长时间?考虑1024*768和1280*1024的两个光栅系统。若刷新频率为每秒60帧,在各系统中每秒能访问多少像素?各系统访问每个像素的时间是多少?假设真彩色(每像素24位)系统有512*512的帧缓存,那么可以使用多少种不同得颜色选择(亮度等级)?在任意时刻可以显示多少种不同的颜色?帧缓存必须足够快才能避免闪烁问题。一图形工作站分辨率为1280 x 1024 ,如果刷新频率为每秒75 帧,内存要多快?即从内存中读取一个像素需要多少时间?,Beijing Normal University Zhuhai Campus,10,北师大学珠海分校信息技术学院,
6、11,图形软件标准Graphics Software Standard,WHY?与设备无关的程序可移植性GKS(Graphics Kernel System)1st GSS accepted by ISO & ANSIPHIGS(Programmers Herarchical Interactive Graphics System)2nd GSS accepted by ISO & ANSIOpenGL(Open Graphics Library)Developed by SGI, independent with platformDirectXDeveloped by Microsoft,
7、independent with windows,Beijing Normal University Zhuhai Campus,12,第三章 基本图元生成算法,13,计算机内部表示的矢量图形 ,必须呈现在显示设备上,才能被我们所认识,这个从图形定义 的物理空间到显示处理的图像空间的转换,成为扫描转换或成为光栅化。 基本图元的扫描转换就是计算出落在基本图元上或充分靠近它的一串像素,并以此像素近似替代基本图元上对应位置在屏幕上显示的过程。,Raster and Scan Conversion,14,DDA法(Digital Differential Analyzer),DDA算法是根据直线的微分
8、方程来计算x或y生成直线的扫描转换算法。 在一个坐标轴上以单位间隔对线段取样, 以决定另一个坐标轴方向上最靠近理想线段的整数值。,15,DDA algorithm,16,设(x0, y0)为直线段的始点, (xend, yend)为 直线段的终点, 且端点坐标均为整数, 则直线的微分方程为,If |m|1, yi+1=mxi+1+b=m(xi+x)+b=yi+mx x=1, yi+1=yi+mIf |m|1, y=1, xi+1=xi+1/m 扫描转换开始时, 取直线始点(x0, y0)作为初始坐标。算法描述如下:,m为直线的斜率,DDA法(Digital Differential Analy
9、zer),17,Advantage and Disadvantage for DDA,Advantage优点: - 消除乘法.Disadvantage缺点:- 浮点数相加积累误差,对长线段而言,引起像素点位置与理想位置的偏移.-需要圆整操作和浮点计算,消耗时间。,18,Lines Bresenham Algorithm,优点:只有整数增量运算准确有效对圆和其他曲线同样有效计算机图形学领域使用最广泛的直线扫描转换方法,19,Lines Bresenham Algorithm,如图,起始点为 (x0,y0), 对每一列(x坐标)确定像素,其行扫描线y最接近直线. 假定(xi,yi)已经被显示。下一
10、步要确定的是在xi+1列中是哪个像素被显示 (xi+1,yi) ? (xi+1,yi+1)?,20,Circles symmetry,利用圆的对称性,计算从x=0到x=y这段1/8圆弧可以得到整个圆的所有像素点,图 4.5 圆的对称性,21,22,如图所示, 假定x坐标为xP的像素中最佳逼近理 想圆弧的为P(xP, yP)。 那么, 下一个候选像素 NE(xi+1, yi),E(xi+1, yi-1) which? 引入NE和E的中点M(xi+1, yi-0.5) if M in 圆内, 取NE(xi+1, yi) if M in 圆外, 取E(xi+1, yi-1) 为此, 构造判别式 d=
11、F(M)=F(xi+1,yi-0.5)=(xi+1)2+(yi-0.5)2-R 2,DDA算法和Bresenham算法的原理和比较?,Beijing Normal University Zhuhai Campus,23,圆的方程X2+Y2=R2。如果直接根据圆的方程画图,有什么问题?试列举1种圆的生成算法,并说出它的优点。,Beijing Normal University Zhuhai Campus,24,Bresenham中点画圆法。试找出一种办法使得候选像素点的数量最少,即用算法生成一个点后,圆上的其它点也自动生成? 并画图说明。,Beijing Normal University Zh
12、uhai Campus,25,26,反走样 Anti-aliasing,由光栅算法生成的图元有锯齿效应 (jagged or stairstepappearance ).像这种由低频率采样引起的变形称为走样(aliasing).这种现象可采用反走样技术来解决.,27,直线段的过取样,将一个像素分为若干子像素,计数有多少个子像素穿过直线路径. 每个像素的亮度等级和该像素区域内的穿过直线的子像素的总数成正比。锯齿(阶梯)效应可由这某种程度的模糊直线路径来消除,以达到光滑效果,28,直线段的过取样,Beijing Normal University Zhuhai Campus,29,第四章 多边形填
13、充算法,30,扫描线填充算法 scan-line polygon algorithm,该算法的基本原理是按扫描线顺序, 对每一条扫描线执行如下四步: (1) 求交:求扫描线与多边形各边的交点; (2) 排序:将求得的交点按递增顺序进行排序; (3) 交点配对:确定相交区间; (4) 区间填色:将相交区间内的像素置成多边形色, 相交区间外的像素置成背景色。,奇数对-多边形色偶数对-背景色扫描线与多边形顶点相交 交点相连边的Y值单调递增和递减,记数一个 交点相连边的Y值在局部形成最大值或最小值,记数二个,Beijing Normal University Zhuhai Campus,31,32,活
14、性边表Active Edge Table,活性边Active Edge:与当前扫描线相交的边活性边表(AET):扫描线与活性边求交运算,交点按x坐标递增的顺序存放在一个链表里活性边表中结点信息 x,当前扫描线与活性边的交点 x,当前交点与下一交点的x坐标增量 ymax, 边所交的最高扫描线的y坐标 next, 指向下一条边的指针,33,34,算法比较,逐点法简单,速度慢,效率低采用活性边表的多边形转换算法相对复杂,利用边的连贯性加速求交运算,利用AET避免了盲目求交,利用扫描线的连贯性避免逐点判别,速度快,效率高。,36,种子填充法,基本思路 首先假设有多边形内部至少有一个像素点(种子)是已知
15、的,然后开始搜索与之相邻的其他象素点。如果相邻点不在区域内,就达到了边界。如果相邻点在区域内,则该相邻点就成为新的种子点,继续递归搜索下去。,37,四连通域搜索程序伪码,void boundaryFill4 (int x, int y, int fillColor, int, boarderColor) int interiorColor;getpixel (x, y, interiorColor)if (interiorColor != boarderColor) ,38,四连通区域法的局限性,八连通域搜索程序伪码 ?,Beijing Normal University Zhuhai Cam
16、pus,39,Beijing Normal University Zhuhai Campus,40,第五章 图形变换,41,基本几何变换Basic Geometric transformation,在方向、尺寸和形状方面的变化是通过几何变换来完成的。基本几何变换都是相对于坐标原点和坐标轴进行的。,42,矩阵表示与齐次坐标Matrix Representation and Homogeneous Coordinates,问题的提出很多应用包含多个几何变换,如先平移,再进行旋转变换、比例变换等矩阵如何表示才能有效处理多个变换?,使用齐次坐标,可将所有变换矩阵可转换成矩阵连乘形式,从而可将图形应用中
17、的所有变换矩阵组合成一个复合矩阵,最后根据初始坐标和复合变换矩阵直接计算最终坐标,无需计算中间点,从而提高计算效率。,Beijing Normal University Zhuhai Campus,43,44,2D平移齐次坐标变换,或表示成: P = T (tx, ty) P平移变换的逆变换T-1用负位移代替tx, -ty.,45,2D旋转齐次坐标变换,Or, P = R () P旋转变换的逆变换R-1用- 值代入.,46,2D比例齐次坐标变换,Or, P = S (Sx,Sy) P比例变换的逆变换S-1用1/Sx,1/Sy值代入.,47,基准点是任意点的旋转General Pivot-Poi
18、nt Rotation,平面图形绕任意固定点pivot point (xr, yr) 的旋转可由通过平移-旋转-平移操作来实现:1.平移物体及固定点,使得固定点移到原点. 2. 围绕原点旋转物体.3. 再将物体及固定点平移回原来位置.,48,基准点是任意点的比例缩放General Fixed-Point Scaling,基于任一固定点(xf, yf)的比例缩放也可通过三个步骤实现:平移物体,使得固定点与原点位置相符.再使物体做相对于原点的比例缩放.再使用步骤1的逆操作,使物体和固定点回到原来位置.,OpenGL中实现基准点是任意点的旋转或缩放的代码是怎样的?,Beijing Normal Un
19、iversity Zhuhai Campus,49,50,对任意直线作对称变换,设任意直线的方程为Ax+By+C=0,直线在x轴和y轴上的截距分别为-C/A和-C/B,直线与x轴的夹角为,51,对任意直线作对称变换复合矩阵,52,几何变换中满足交换律的矩阵,二次连续平移T1*T2=T2*T1二次连续旋转R1*R2=R2*R1二次连续比例缩放S1*S2=S2*S1,在2D齐次坐标系中,计算下列图形变换矩阵:保持x=5,y=10图形点固定,y方向放大2倍,x方向放大5倍。,Beijing Normal University Zhuhai Campus,53,已知物体上的点P(4,5),X方向平移5
20、,Y方向平移5,再围绕原点旋转300,然后X方向缩小1/2,Y方向放大2倍,写出经上述变换后的点P与P之间的矩阵连乘关系,以及复合变换矩阵,并计算出点P的坐标。,Beijing Normal University Zhuhai Campus,54,己知三角形ABC各顶点的坐标分别为A(10, 10)、 B(10, 30)、 C(30, 15), 试进行下列变换: (1) 沿x方向平移20, 沿y方向平移15, 再绕原点逆时针旋转30。 (2) 绕原点逆时针旋转30, 再沿x方向平移20, 沿y方向平移15, 画出变换后的图形, 两者变换结果是否相同? 为什么?,Beijing Normal U
21、niversity Zhuhai Campus,55,56,3D基本几何变换3D Geometric transformation,3D几何变换可由2D几何变换扩展而来,包括: 3D 平移3D 旋转3D 比例缩放等同样,我们用齐次坐标来表示3D几何变换矩阵(4*4阶),57,相对于空间任意一点的3D变换,1)先将物体连同参考点平移回原点2)相对于原点作几何变换3)再进行平移逆变换,图形变换矩阵S可以是旋转、比例等变换,58,绕过原点的直线ON旋转,59,绕过原点的直线旋转变换矩阵,已知立方体中心位于原点,边(边长为a)与坐标轴方向对齐,视点(0,0,2a),目标点(0,0,0)。试找到一个变换
22、矩阵,使得立方体三面显示出来,如下图。,Beijing Normal University Zhuhai Campus,60,Beijing Normal University Zhuhai Campus,61,第六章 二维观察,62,63,裁剪窗口与视区Clipping window & Viewport,64,窗口到视区的变换,65,窗口到视区的变换矩阵,窗口到视区的变换是比例变换和平移变换的复合变换,如图所示, 已知窗口中三角形ABC的坐标, 通过窗口-视区变换后, 试求在视区内相应三角形A*B*C*的坐标。,Beijing Normal University Zhuhai Campus
23、,66,67,编码裁剪法,图8-6 窗口区域代码,68,编码裁剪法端点编程思路,已知线段两端点p1,p2及剪裁窗口边界winMin和winMax;循环依次判断线段与剪裁窗口交点的区域可见性,可见就画,不可见不画,直到所有区域判断完毕:,69,编码裁剪法端点编程思路(续),首先求线段2端点p1,p2的编码code1,code2;如果线段完全在剪裁窗口内,画线退出如果线段完全在剪裁窗口外,退出如果p1在窗口内,则交换2个点及其编码计算线段的斜率求p1p2是否与剪裁窗口的4条边相交如果相交,则用交点替换p1点返回步骤1,继续判断,70,编码裁剪法端点编程思路(续),求端点编码函数encode(p,
24、winMin, winMax);交换点函数swapPts(p1, p2);交换编码函数swapCodes(code1,code2);点是否在剪裁窗口内函数inside(code);线段是否完全在剪裁窗口内函数accept(code1,code2);返回布尔值判断线段是否完全在剪裁窗口外函数reject(code1,code2);返回布尔值,71,Liang-Barsky算法,算法是基于直线的参数化方程分析:x = x1 + u xy = y1 + u y 0 = u = 1 x = x2 x1, y = y2 y1根据点剪裁的条件,有 xwmin = x1 + u x = xwmax ywmi
25、n = y1 + u y = ywmax,72,U1=max(Ua,Ub,0)U2=min(Uc,Ud,1),73,编程思路,已知线段2端点和窗口坐标p1,p2,winMin,winMax;线段交点的参数初始化为u1=0,u2=1;计算各裁减边界的p,q值;函数clipTest根据p,q来判断是舍弃线段还是改变交点的参数;当p0时,参数r用于更新u2;如果更新了u1或u2后使u1u2,则舍弃该线段;否则,更新适当的u参数,使新值仅仅缩短了线段;当p=0 测试完p,q的4个值后,如果结果并未舍弃该线段,则由u1,u2值决定裁剪后的线段端点画线。,74,Liang-Barsky算法小结,Liang
26、-Barsky算法比Cohen-Sutherland算法更有效more efficient。更新参数u1,u2仅仅需要一次除法only one time division。计算出u1,u2的最后值后,线段与窗口的交点只计算一次only one time intersection calculation。而Cohen-Sutherland算法即使一条线段完全落在裁剪窗口之外,也要反复求交,每次求交都用到除法和乘法运算repeat intersection calculation 。,编码裁剪法和梁友栋算法的比较?判断梁友栋直线的方向?梁友栋算法中参数u1,u2如何选取?,Beijing Norm
27、al University Zhuhai Campus,75,Beijing Normal University Zhuhai Campus,76,第七章 投影变换,77,平行投影和透视投影,平行投影parallel projection平行光源物体的投影线相互平行物体的大小比例不变,精确反映物体的实际尺寸透视投影perspective projection点光源物体的投影线汇聚成一点:投影中心离投影面近的物体生成的图像大,真实感强,78,斜平行投影,投影方向不垂直于投影面的平行投影也称斜轴侧投影在斜平行投影中,一般取坐标平面为投影平面已知投影方向,投影平面为XOY,点P(x,y,z)投影后变
28、成P(xp,yp),79,80,斜平行投影,81,透视投影perspective projection,在平行投影中,物体投影的大小与物体距投影面的距离无关,与人的视觉成像不符。而透视投影采用中心投影法,与人观察物的情况比较相似。投影中心又称视点,相当于观察者的眼睛,也是相机位置处。投影面位于视点与物体之间。投影线:视点与物体上的点的连线投影线与投影平面的交点即为投影变换后的坐标点。,82,透视投影特性properties,平行于投影面的一组相互平行的直线, 其透视投影也相互平行。空间相交直线的透视投影仍然相交。空间线段的透视投影随着线段与投影面距离的增大而缩短。(近大远小,符合人的视觉系统,
29、深度感更强,看上去更真实)不平行于投影面的任何一束平行线, 其透视投影将汇聚于灭点。不能真实反映物体的精确尺寸和形状。,83,点的透视变换,视点在Z轴投影面为XOY平面,84,透视变换矩阵,85,透视投影的分类,(a) 一点透视; (b) 二点透视; (c) 三点透视,灭点:任何一束不平行于投影平面的平行线的透视变换将汇聚为一点,什么叫灭点?平行投影变换函数?透视投影变换函数?如何调整?,Beijing Normal University Zhuhai Campus,86,87,投影变换分类,88,三维观察流水线,89,三维观察坐标系,观察点view point:观察坐标系的原点,也称视点ey
30、e position或相机位置处camera position观察点和目标参考点构成视线方向,即为观察坐标系的Zview轴方向。观察平面(View Plane投影平面)与Zview轴垂直观察向上方向:一般选择Yview轴方向,90,三维观察坐标系,观察点函数的设置?需要注意什么?,Beijing Normal University Zhuhai Campus,91,已知点P1(1,2,0),P2(3,6,20)和P3(2,4,6),试判断从视点C(0,0,-10)观察时,哪个点遮挡了其他的的点?给出数学依据。,Beijing Normal University Zhuhai Campus,92
31、,93,从世界坐标系到观察坐标系的变换,步骤:平移观察点到世界坐标系的原点进行旋转变换,使得观察坐标轴与世界坐标轴重合:绕Xw轴旋转,使Zv轴旋转到(XOZ)w平面绕Yw轴旋转,使Zv轴旋转到与Zw轴重合绕Zw轴旋转,使Xv,Yv轴旋转与Xw,Yw重合,94,从世界坐标系到观察坐标系的变换,复合变换矩阵,95,正投影的规范化变换,Beijing Normal University Zhuhai Campus,96,第八章 曲线曲面,曲线曲面的分类,规则曲线曲面初等解析曲面:平面、圆柱面、圆锥面、球面、圆环面二次曲面:球面、椭圆面、环面、抛物面和双曲面自由曲线曲面,98,曲线曲面的表示法,曲线曲
32、面的显式表示曲线曲面的隐式表示主要问题:不能解决多值问题,99,曲线的基本知识,参数表示法,型值点 和控制点,型值点:通过计算得到曲线曲面上的点控制点:控制曲线曲面形状的点,101,参数连续性和几何连续性,参数连续性C0,C1,C2,102,参数连续性和几何连续性,几何连续性G0,G1,G2,103,曲线曲面的参数表示法,104,插值与逼近,105,控制点和基函数control points and blending function,106,Bezier曲线,设 为个给定的控制点,它们可以是平面的点,也可以是空间的点。又有一组Bernstein多项式。以它们为调配函数构成的曲线 称为以 为控
33、制点的n次Bezier曲线,也常常把叫做Bezier点,顺次以直线段连结的折线,不管是否闭合,都叫做Bezier特征多边形。,107,108,Bezier曲线的性质,Bezier曲线的首末端点正好是Bezier多边形的首末顶点,但Bezier曲线不经过除首末端点外的其他控制点。改变其中某些控制点的位置,整个Bezier曲线的形状随之改变。 Bezier曲线在首末端点的k阶导矢分别与Bezier多边形的首末条边有关,与其他边无关。这表明曲线在首末端点分别与首末条边相切。几何不变性。凸包性。变差缩减性。,109,Bezier曲面,Bezier方法的局限性,控制点的数目决定曲线的阶次,n+1个顶点产
34、生n次曲线没有局部性逼近的方法,B spline曲线,保留了Bezier方法的优点克服了Bezier方法的一些局限性曲线的阶数不随控制点增加而增加具有局部性但仍然是一种逼近的方法,112,NURBS曲线曲面,NURBS-Non Uniform Rational B Spline非均匀有理B样条统一表达自由曲线曲面和二次曲线曲面保留了B样条函数的基本性质,113,多结点样条Many-knot spline,由B样条线性组合而来,继承了一般样条函数的优点,如连续性,对称性和规范性。 同时又具备局部性、插值性、显式不求解特性,114,小结(重点),曲线曲面的参数方程表示曲线曲面的参数连续性和几何连续
35、性控制点和基函数的概念Bezier曲线曲面的表示与性质B Spline曲线曲面的表示与性质 NURBS曲线曲面表示与性质多结点曲线曲面表示与性质,不同曲线曲面表示方法的特点?有哪些相同和不同?,Beijing Normal University Zhuhai Campus,115,证明两条参数曲线C1(t)=(t2-2t,t)和C2(t)=(t2-1,t+1),t0,1达到C1和G1连续,并求出它们达到C1和G1连续的连接点。,Beijing Normal University Zhuhai Campus,116,思考,曲线表示法有哪些种?试分别举例,思考,什么是曲线的凸包性,是举例哪些曲线具
36、有凸包性?,思考,Bezier 曲线的性质有哪些性质?,计算曲线上的型值点?,Beijing Normal University Zhuhai Campus,120,Beijing Normal University Zhuhai Campus,121,第十章 光照效果,122,表面光照效果,环境光Ambient Light物体表面反射环境光的结果漫反射 diffuse reflection粗糙或颗粒状表面向各方向反射光镜面反射 specular reflection光滑表面会集中一个方向反射光,形成一个亮点,123,环境光 Ambient light,环境光反射光的强度 Ie =IaKa参数
37、Ia 表示环境光的强度环境光对物体的反射光与观察方向无关,与物体表面的空间方向无关.Ka为物体对环境光的反射系数,0 = Ka=1高反射物体表面的反射系数接近于1低反射物体表面的反射系数近似于0,124,漫反射 diffuse reflection,理想漫反射体从物体表面各个方向等强度反射光线,与观察方向无关(与视点位置无关)Lamberts cosine Law 表面漫反射光强度Id = Ip kd cosIp 入射光的强度(点光源) kd 入射光的漫反射系数(0 kd 1),由物体表面的材料性质以及入射光的波长所决定。 入射光与表面上点的法向量N之间的夹角,125,镜面反射 specula
38、r reflection,根据Phone模型提出的公式,镜面反射光的强度取决于物体表面的属性和入射光的角度Is = Ip KsCos n镜面反射光的强度Ip 入射光的强度:视线与镜面反射线的角度,0 = 100, 粗糙面 n = 1, 完美镜面 n = .,126,Phong光照明模型,将上述三种反射光的强度迭加在一起,则,上式所进行的光强计算只是假定只有一个点光源的,若场景中有多个点光源,则可以在任一点光源处迭加各个光源所产生的光源效果,这就是Phong光照明模型,127,Phong光照明模型,如果将光源分解成红、绿、蓝三种基色,128,Phong光照明模型,129,Texture coor
39、dinate and world coordinate,130,steps-三步曲,Loading 载入纹理指定一个用作纹理映射的图像Definition定义纹理映射参数、纹理映射方式并激活纹理映射说明纹理如何应用于每个像素点Mapping提供纹理坐标和几何顶点坐标的映射关系为每个顶点指定纹理坐标,131,Setting texture coordinate,glBegin(GL_QUADS); glTexCoord2f(0.0,0.0); glVertex3fv(vertex0); glTexCoord2f(0.0,1.0); glVertex3fv(vertex1); glTexCoord
40、2f(1.0,1.0); glVertex3fv(vertex2); glTexCoord2f(1.0,0.0); glVertex3fv(vertex3);glEnd() 问题:如何求取四边形内部的点的纹理坐标?,132,Auto generation texture coordinate,在一定条件下,OpenGL可自动为你生成纹理坐标glEnable(GL_TEXTURE_GEN_S);glEnable(GL_TEXTURE_GEN_T);glEnable(GL_TEXTURE_GEN_R);glEnable(GL_TEXTURE_GEN_Q);当启用此功能时,glTexCoord调用失
41、效,用glDisable关闭此功能,133,Auto generation texture coordinate,Void glTexGenifd(GLenum coord,GLenum pname,TYPE value);Void glTexGenifdv(GLenum coord,GLenum pname,TYPE *plane);Coord-指出哪个方向的纹理坐标,GL_S,GL_T,GL_R,GL_Q pname-GL_TEXTURE_GEN_MODE ,GL_OBJECT_PLANE,GL_EYE_PLANE,纹理坐标的取值范围?如何与几何定点坐标对应?,Beijing Normal University Zhuhai Campus,134,1已知纹理图像如和三角形如图,三角形三个顶点的坐标为(x1,y1),(x2,y2)和(x3,y3),试写出将纹理图像映射到三角形上相应的OpenGL绘制代码(纹理坐标映射部分的代码)。,Beijing Normal University Zhuhai Campus,135,