计算机图形学复习大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机图形学复习大纲
第一、二章
1、计算机图形学定义及研究内容
(1)定义
计算机图形学是研究怎样用计算机生成、处理和显示图形的一门学科。
(2)研究内容
如何在计算机中表示图形,以及如何利用计算机进行图形的生成、处理和显示的相关原理与算法,构成了计算机图形学的主要研究内容。
(应用领域:计算机辅助设计与制造、科学计算可视化、虚拟现实等)
2、相关学科及其关系(计算几何、图像处理、计算机视觉)
3、真彩色与伪彩色的概念。
(1)真彩色
使用真彩色的显存结构(24位面,1600万色)(2)伪彩色
使用8位假彩色的显存结构
第三章图形标准
1、建立图形标准的目的
使图形与计算机硬件无关,实现程序的可移植和数据的可交换。
2、两类标准,常见标准所属类型。
(1)应用程序接口标准
GKS、PHIGS
(2)图形数据交换标准
CGM、IGES、DXF、STEP
第四章从图形到图像
1、什么是图形?什么是图像?他们适合表达对象?他们之间如何转化?
(1)图形是用矢量表示的,是用几何学的点、线、面对客观世界建模的结果。
图形中不但包含坐标、拓扑等几何信息,而且可以包含颜色、纹理等非几何信息。
这些信息是设备无关的。
(2)图像是用点阵表示的,其中只有各个点的颜色信息,不含拓扑关系,也没有几何学的点、线、面。
从数学上说,图像是定义域和值域都不连续的一个函数(数字图像)。
(3)图形适合表达几何信息(建模),图像适合表达视觉信息(照片)。
(4)图形通过光栅扫描可以转化为光栅图像;图像通过识别和处理可以转化为矢量表示的图形形式,但通常它无法完全恢复图形信息。
2、直线生成算法:DDA法(要求推导)、Bresenham算法及其特点(计算不要求整数化)
(1)DDA法
(2)Bresenham算法
3、中点画圆法(注意那个作业)
完整圆的伪代码:
void MidCircle(int x0,int y0,int r)
{
int x=x0,y=y0+r;
float f=1.25-r;
while(x<y)
{
point(x,y);
point(y,x);
point(x,y0+y0-y);
point(y0+y0-y,x);
point(x0+x0-x,y);
point(y,x0+x0-x);
point(x0+x0-x,y0+y0-y);
point(y0+y0-y,x0+x0-x);
if(f<0)
f+=2*(x-x0)+3;
else
{
f+=2*(x-x0-y+y0)+5;
y--;
}
x++;
}
}
4、凸多边形、凹多边形、含内环的多边形(内环外环又叫什么?)、多边形的正面和反面。
(1)凸多边形是指任意两顶点间的连线均在多边形内。
(2)凹多边形是指任意两顶点间的连线有不在多边形内的部分。
(3)含内环的多边形是指多边形内再套有多边形。
多边形内的多边形称为内环。
(内环又叫内边界、外环又叫外边界)
(4)如果多边形的顶点以逆时针顺序出现在屏幕上,则为“正面”;如果多边形的顶点以顺时针顺序出现在屏幕上,则为“反面”。
4、多边形的显示:多边形的扫描转换(知道几大步骤)
扫描线方法通过从多边形最低点到最高点之间的水平扫描,完成对多边形的扫描转换。
对每条扫描线,多边形的扫描转换分为四个步骤:
(1)求交:计算扫描线与多边形各边的交点;
(2)排序:把所有交点按x值递增顺序排序;
(3)配对:奇偶交点配对,每对交点代表扫描线与多边形的一个相交区间。
(4)着色:把相交区间内的象素置成多边形颜色。
void polyfill (polygon, color)
颜色color;多边形polygon;
{
构造新边表NET(NET[i]为第i条扫描线对应的新边表头,见前页图);
y = 最低扫描线号(在这里是1);
初始化活性边表AET为空;
对各条扫描线i,作下列操作
{
▪把新边表NET[i]中的边结点插入AET表,并使之按x坐标递增顺序排列;
▪将活性边表AET中的边奇偶为区间,对区间内的象素(x, y),用color着色;
▪检查活性边表AET,把ymax= i的结点从AET表中删除,其它边的x交点坐标按增量递增(Δx);
}
}
第五章曲线和曲面
1、曲线的三种表示方式:显示、隐式、参数,它们的二维形式。
(1)显示表示:y=f(x)
(2)隐式表示:f(x,y)=0
(3)参数表示:P(t)=[x(t), y(t)]
2、曲线活动坐标架的定义(包括非弧长参数),曲率、挠率的定义及意义。
(1)设曲线为P(t)=[x(t), y(t), z(t)],则:
切矢量:P’(t)(当t为弧长时是单位矢),单位切矢记为T。
主法矢:当以弧长为参数时,切矢的导矢是一个与切矢垂直的矢量,其单位矢称为主法矢,记为N。
副法矢:B=T×N
T(单位切矢)、N(主法矢)和B(副法矢)构成了曲线上的活动坐标架;N、B构成的平面称为法平面;N、T构成的平面称为密切平面(它与曲线最贴近);B、T构成的平面称为从切平面。
对于一般参数t,有:
(2)曲率
由于T’(s)与N平行,令T’(s)= κN,κ(kappa)称为曲率,其几何意义是曲线的单位切矢对弧长的转动率。
κ恒为正,又称为绝对曲率。
κ曲率的倒数ρ=1/κ,称为曲率半径。
(3)挠率
由B(s)·T(s)=0,两边求导,可得:B’(s)·T(s)=0;
又由|B(s)|2=1,两边求导,可得:B’(s)·B(s)=0;
所以,B’(s)∥N(s),再令B’(s)=-τN(s),τ(tau)称为挠率,其几何意义是副法矢方向对于弧长的转动率。
挠率大于0、等于0和小于0分别表示曲线为右旋空间曲线、平面曲线和左旋空间曲线。
3、曲面的参数表示;等参数线;
(1)P=P(u,v),u1≤u≤u2,v1≤v≤v2
(2)固定其中一个参数例如v=v0,则曲面变成单参数u的矢函数P=P(u,v0),表示曲面上的一条以u为参数的参数曲线,简称u线。
类似地,P=P(u0,v)表示曲面上的一条v线。
所以,参数曲面上存在两组等参数线,即一组u线和一组v线。
4、直纹面与可展曲面的概念。
(1)如果曲面的两族等参数线:u线与v线中,有一组是直线,则称该曲面为直纹面。
它可以看成直线在空间连续运动扫出的轨迹。
直纹面上的直线族称为母线。
在直纹面上取一条曲线与所有母线相交,称之为准线。
(2)如果直纹面沿它的每一条母线只有唯一的切平面(或者说沿直母线, 法向量平行),则称该直纹面为可展曲面。
可展曲面可以通过简单的弯曲来展平。
圆柱面和圆锥面都是可展的,曲线的切线曲面(曲线上所有点的切线的集合)也是可展的,但机翼的直纹面就不一定。
5、曲面的曲率性质:法截线,法曲率、主曲率、高斯曲率、平均曲率
(1)法截线:通过曲面上一点法线的平面与曲面的交线称为法截线
(2)法曲率:法截线的曲率κn称为法曲率
(3)主曲率:围绕法线旋转的每一个平面会产生一个法截线,因此曲面上一点的法曲率有无穷多个,这些法曲率的最大值和最小值称为主曲率。
(4)高斯曲率:两个主曲率的乘积称为高斯曲率
(5)平均曲率:两个主曲率的均值称为平均曲率
6、插值、逼近和拟合的概念
(1)插值:给定一组有序的数据点Pi,i=0, 1, …, n,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。
(2)逼近:构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线称为逼近曲线。
(3)拟合:插值与逼近统称为拟合。
7、什么是数值点的参数化。
为一组有序的数据点(P0,P1,…Pn) 赋予相应的一组参数值(t0<t1<…<tn,每个参数点称为节点) 称之对这组数据点实行参数化。
常用的参数化方法:均匀参数化、积累弦长参数化、向心参数化、修正弦长参数化
8、参数连续和几何连续的概念。
如何实现2阶几何连续?
(1)参数连续性:如果曲线函数对表达它的特定参数(并非所有参数)具有直达n阶的连续导矢,则称该曲线具有n阶参数连续性,简称Cn连续。
(2)几何连续性:如果曲线函数对弧长参数具有直达n阶的连续导矢,则称该曲线具有n阶几何连续性,简称Gn连续。
(3)对于一般参数表达的多项式曲线的拼接,要想达到G2连续,在连接点处必须满足:
①G0连续:即两段曲线首尾相接。
②G1连续:要求两条曲线在首尾相接处的切矢方向相同。
③G2连续:要求曲率相同,并且副法矢方向相同。
9、三次参数样条曲线插值的唯一性(在补充两个边界条件的情况下)
对于n+1数据点Pi(i=0,1,···n),由二阶导数连续可列n-1个三切矢方程,其中包含n+1个未知切矢(P’i, i=0,1,···n ),再加两个边界条件(往往是关于导数的),就可以得到唯一解,从而得到唯一的参数三次样条曲线。
10、Bezier曲线曲面的定义及性质;de Casteljau(德卡斯特里奥)递推算法。
(1)Bezier曲线
➢Bernstein基函数的性质
➢Bezier曲线的性质
➢de Casteljau(德卡斯特里奥)递推算法
(2)Bezier曲面
➢定义
➢Bezier曲面的性质
11、B样条曲线曲面的定义及性质、定义域;重节点对B样条曲线的影响;de Boor
(德布尔)递推算法。
(1)B样条曲线的定义及性质、定义域
➢定义
➢B样条基性质
➢B样条曲线的性质
(2)重节点对B样条曲线的影响
(3)de Boor(德布尔)递推算法
(4)B样条曲面的定义及性质、定义域
12、反算B样条曲线的控制顶点的步骤,及与三次参数样条曲线插值的关系。
(1)反算B样条曲线的控制顶点的步骤
(2)三次B样条插值曲线与参数三次样条曲线的关系
三次B样条插值曲线与参数三次样条曲线都是C2连续的,它们之间只是基表示形式不同而已。
前者采用C2三次B样条基,后者采用C2分段三次埃尔米特基。
它们之间可以互化,即从一种基表示形式变换到另一种。
13、NURBS曲线曲面的定义及性质;与B样条曲线曲面的关系(NURBS的几何意义)
(1)NURBS曲线的定义及性质
➢NURBS曲线的定义
➢NURBS曲线有理基函数的性质
➢NURBS曲线的性质
➢NURBS曲线的几何意义
(2)NURBS曲面的定义及性质➢NURBS曲面的定义
➢NURBS曲面有理基函数的性质
➢NURBS曲面的性质
NURBS曲面与非有理B样条曲面有相类似的几何性质,大多数NURBS曲线的性质可以直接推广到NURBS曲面,例如:
(1)局部性质
(2)凸包性质
(3)几何不变性及仿射不变性。
(4)沿u向在重复度为r的u节点处是C p-r参数连续的;沿v向在重复度为r 的v节点处是C q-r参数连续的。
(5)权因子的几何意义及修改、控制顶点的修改等与NURBS曲线类似。
第六章真实感图形学
1、什么是真实感图形学?
真实感图形学是计算机图形学中的一个重要组成部分,它的基本要求就是在计算机中生成三维场景的真实感图象。
2、什么是基于物体空间的显示?什么是基于图像空间的显示?
(1)基于物体空间的显示:这种显示方式首先将要显示的对象表示为相互连接的多边形(通常是三角形)面片;然后通过一条所谓的图形绘制管线将每一个三角形绘制到屏幕上。
当所有面片都处理完毕后,就得到了一幅完整的真实感图像。
这种显示方式有图形硬件的支持,显示速度很快,通常用于交互设计。
但它的真实感程度稍逊。
典型应用:交互设计、游戏。
(2)基于图像空间的显示:这种显示方式逐个计算屏幕象素点的颜色,以获得整个屏幕的图像。
它采用光线跟踪算法(或类似算法),通过逆向跟踪通过屏幕象素的光线路径,并累加路径上光线贡献,得到该象素点的色彩。
这种显示方式可以生成超真实的图像,是生成最终效果图的主要方法。
典型应用:广告。
3、什么是颜色?色调、饱和度、亮度、主波长、纯度、明度?
(1)颜色:颜色是外来的光刺激作用于人的视觉器官而产生的主观感觉。
物体的颜色不仅取决于物体本身,还与光源、周围环境的颜色,以及观察者的视觉系统有关系。
(2)色调、饱和度、亮度:从心理学和视觉的角度出发,颜色有如下三个特性:色调(Hue)、饱和度(Saturation)和亮度(Lightness)。
色调是一种颜色区别于其它颜色的要素,也就是我们平常所说的红、绿、蓝、紫等;饱和度是指颜色的纯度,在某种光中添加白色相当于减少该颜色的饱和度,鲜红色饱和度高,浅红色饱和度低;亮度即光的强度。
(3)主波长、纯度、明度:从光学物理学的角度出发,颜色的三个特性分别为:主波长(Dominant Wavelength)、纯度(Purity)和明度(Luminance)。
主波长是产生颜色的光的波长,对应于视觉感知的色调;光的纯度对应于饱和度,而明度就是光的亮度。
4、可见光的波长范围,白光、色光的波长特点、什么是异谱同色?
(1)可见光是人的视觉系统能够感知到的电磁波,它的波长在400nm-700nm 之间。
(2)当一束可见光的各种波长的能量大致相等时为白光;否则为彩色光;若一束可见光中,只包含一种波长的电磁波,其它波长都为零时,称其为单色光。
(3)但是,光谱与颜色的对应关系是多对一的,也就是说,具有不同光谱分布的光产生的颜色感觉是有可能一样的。
这种现象称为“异谱同色”。
5、什么是三色学说?
三色学说也称为三刺激理论。
近代的三色学说研究认为:人眼的视网膜中存在着三种锥体细胞,第一种锥体细胞专门感受红光,第二和第三种锥体细胞则分别感受绿光和蓝光。
它们三者共同作用,使人们产生了不同的颜色感觉。
三色学说是真实感图形学的生理视觉基础。
6、CIERGB系统、CIEXYZ系统、CIE色度图的概念。
(1)CIE(Commission Internationale deL'Eclairage,法语,国际照明委员会)选取的标准红、绿、蓝三种光的波长分别为:红光,R,λ1=700nm;绿光,G,λ2=546nm;蓝光,B,λ3 =435.8nm。
任何光的颜色可以表示为:C=rR+gG+bB。
其中权值r、g、b为需要的R、G、B三色光的相对量,即三刺激值。
这个系统被称为CIE-RGB系统。
(2)在CIE-RGB系统,三刺激值可能是负数。
由于实际上不存在负的光强,而且这种计算极不方便,不易理解。
1931年的CIE-XYZ系统利用三种假想的标准原色X(红)、Y(绿)、Z(蓝),能够使得到的颜色的三刺激值都是正值。
即在CIE-XYZ 系统中,任意光的颜色可以表示为:C = xX + yY + zZ。
而且x,y,z均为正。
(3)
7、颜色模型:RGB、CMY(K)关系、应用对象。
(1)
(2)
8、什么是简单光照明模型?镜面反射、漫反射、环境光的概念。
(1)简单光照明模型模拟物体表面对光的反射作用。
光源被假定为点光源,反射作用被细分为镜面反射(SpecularReflection)和漫反射(Diffuse Reflection)。
简单光照明模型只考虑物体对直接光照的反射作用,而物体间的光反射作用,只用环境光(Ambient Light)来表示。
(2)
(3)
(4)环境光是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。
我们近似地认为同一环境下的环境光,其光强分布是均匀的,它在任何一个方向上的分布都相同。
例如,透过厚厚云层的阳光就可以称为环境光。
在简单光照明模型中,我们用一个常数来模拟环境光:
Ie=Ia·Ka
其中:Ia为环境光的光强,Ka为物体对环境光的反射系数。
9、整体光照明模型的概念。
简单光照明模型虽然可以产生物体的真实感图象,但它只考虑物体对直接光照的反射作用,不能很好的模拟光的折射和阴影等,也不能用来表示物体间的相互光照明影响;而基于简单光照明模型的光透射模型,虽然可以模拟光的折射,但是这种折射的计算范围很小,不能很好的模拟多个透明体之间的复杂光照明现象。
对于上述的这些问题,必须要有一个更精确的光照明模型。
整体光照明模型
就是这样的一种模型。
在现有的整体光照明模型中,主要有光线跟踪和辐射度两种方法,它们是当今真实感图形学中最重要的两个图形绘制技术,在CAD及图形学领域得到了广泛的应用。
10、光线跟踪算法的原理和算法。
(1)光线跟踪的基本原理:模拟理想表面的光线传播,跟踪镜面反射和折射。
由光源发出的光线,经反射与折射,只有很少部分可以进入人的眼睛。
因此光线跟踪算法的跟踪方向与光传播的方向是相反,是视线跟踪。
由视点与象素(x,y)发出一根射线,与第一个物体相交后,在其反射与折射方向上进行跟踪。
(2)光线跟踪算法伪码:函数名为RayTracing(),光线的起点为start,光线的方向为direction,光线的衰减权值为weight,初始值为1,算法最后返回光线方向上的颜色值color。
对于每一个象素点,第一次调用RayTracing()时,可以设起点start为视点,而direction为视点到该象素点的射线方向。
RayTracing(start, direction, weight, color)
{
if ( weight < MinWeight )
color = black;
else
{
计算光线与所有物体的交点中离start最近的点;
if ( 没有交点)
color = black;
else
{
Ilocal = 在交点处用局部光照模型计算出的光强;
计算反射方向R;
RayTracing(最近的交点, R, weight*Wr, Ir); //Wr:反射方向的衰减系数
计算折射方向T;
RayTracing(最近的交点, T, weight*Wt, It); //Wt:折射方向的衰减系数
color = Ilocal + Ks·Ir+ Kt·It; //Ks、Kt:该点的反射系数和透射系数
}
}
} //此算法只设置了两个终止条件
11、辐射度方法的基础。
什么是辐射度和光亮度,理想漫反射下两者关系(推导)(1)
(2)
12、辐射度方法的显示流程。
13、什么是纹理,颜色纹理和几何纹理的作用及实现方法。
(1)纹理:物体的表面细节称为纹理(Texture),纹理分为两类:
➢颜色纹理:颜色或明暗度变化体现出来的表面细节,如刨光木材表面上的木纹。
➢几何纹理:由不规则的细小凹凸体现出来的表面细节,如桔子皮表面的皱纹。
(2)在真实感图形学中,可以用下列两种方法来定义纹理:
➢图象纹理:将二维纹理图案映射到三维物体表面,绘制物体表面上一点时,采用相应的纹理图案中相应点的颜色值。
➢函数纹理:用数学函数定义简单的二维纹理图案,如方格地毯;或用数学函数定义随机高度场,生成表面粗糙纹理即几何纹理。
14、什么是mip-map纹理,其作用是什么?
纹理映射经常涉及将一纹理图案映射到不同大小的景物表面上。
当图形在屏幕上投影与其对应的纹理区域大小匹配时,它们之间形成近似一对一的映射,效果最好;当景物表面在屏幕上的投影区域较大时,通过插值,纹理图案被放大,效果也不错;而当景物表面在屏幕上的投影区域较小时,位于一个屏幕象素内的图形区域映射到纹理平面上后可能覆盖多个纹理象素,这时,若仍基于屏幕象素中心在纹理平面上作采样,由于采样点在纹理空间的变化很大,则会产生严重的走样现象。
实际上应当取这一区域上纹理象素颜色的平均值作为当前象素内可见区域的平均纹理属性,Mip-Map纹理反走样技术即基于这种思想。
Mip是拉丁文“multum in parvo”的缩写,意为“聚集在一块小区域内的许多东西”。
Mip-Map技术保留了一幅图像的多个分辨率版本,最高版本是原始图像,低级版本的分辨率是其上级版本的1/2,其每个象素是上级图像四个象素的平均值,所有版本构成了一个图像金字塔。
第七章图形绘制管线
1、图形绘制管线属于哪种产生真实感图像的方式(基于物体空间的显示?基于
图像空间的显示?)?
基于物体空间的显示
2、图形绘制管线的三个阶段及子阶段的作用。
3、模型坐标系、世界坐标系、视点坐标系、规范化坐标系和窗口坐标系的概念。
(1)模型坐标系:每个物体(模型)可以有自己的坐标系,这个坐标系称为模
型坐标。
它是在建模时确定的。
(2)世界坐标系:为了确定物体在场景中的比例、位置和朝向,需要为场景中的物体建立一个公共的坐标系,这个坐标系称为世界坐标系。
(3)视点坐标系:固定在观察者的双眼正中,X轴的方向向右、Y轴的方向向上、Z轴的负方向与视线同向。
又称为相机坐标系。
这是OpenGL知道的唯一坐标系。
(4)规范化坐标系:(左手系)x∈[-1,1],y∈[-1,1],z∈[-1,1]。
(5)窗口坐标系:(左手系)x∈[0,width],y∈[0,height],z∈[0,1]。
其中:width、height分别为窗口的宽和高。
4、齐次坐标的概念和两个用途。
(1)齐次坐标(Homogeneous Coordinate)是比普通坐标高一维的坐标,与普通坐标可以相互转换:
➢从普通坐标转换为齐次坐标:(x,y,z)→(x,y,z,1)
➢从齐次坐标转换为普通坐标:(x,y,z,w)→(x/w,y/w,z/w)
(2)引入齐次坐标后带来了诸多便利,主要有:
➢可以区分坐标和方向:
(x,y,z,1):坐标
(x,y,z,0):方向
➢规范化的坐标变换:OpenGL中的所有变换都可以用4×4矩阵乘法表示,例如:平移和透视投影。
这是普通坐标所做不到的。
5、什么是视景体,视景体与投影矩阵的关系。
(1)视景体:即可见空间范围。
只有在视景体中的物体才可能出现在屏幕上。
理所当然:它应当在视点坐标系中定义。
(2)视景体与投影矩阵一一对应。
6、模型变换、视点变换和投影变换的作用。
(1)模型变换:模型变换将模型运动(变换)到世界坐标系的正确位置,并使其有正确的朝向和大小。
(2)视点变换:视点变换将整个场景运动(变换)到视点坐标系的正确位置和方向,使眼睛能够看到特定的场景部分。
(3)投影变换:目的是将三维空间中的物体投影到二维平面。
有两种投影方式:平行投影和透视投影。
7、模型变换和视点变换有什么异同?
模型变换和视点变换都用4×4的矩阵来实现,只是模型变换针对个别模型,视点变换针对所有模型。
8、视点变换的另一种说法是什么?在OpenGL中由哪个函数来实现?参数的意义是什么?
(1)如前述:由平移和旋转可以方便地实现视点变换,但OpenGL提供的方便函数glLookAt使视点变换更加直观,是对视点变换的另一种实现。
(2)void gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,GLdouble centerx, GLdouble centery, GLdouble centerz,GLdouble upx, GLdouble upy, GLdouble upz );
eyex, eyey, eyez :视点在世界坐标系中的三维坐标。
centerx, centery, centerz :焦点在世界坐标系中的三维坐标。
upx, upy, upz :定义视点的上方向。
9、在图形流水线中是谁完成了从右手坐标系到左手坐标系的转变?
投影变换
10、如何保证三维图形的显示不变形?
视口的长宽比与视景体的长宽比一致
11、如何保证三维图形被看到?
三维图形在视景体内
12、OpenGL中的光照计算是在哪个坐标系下进行的?定义光源的位置和方向时,
它要接受什么变换?
视点坐标系;模型和视点变换
13、为什么颜色位面需要双缓冲?
颜色位面就是屏幕的显示内容。
为了避免观察者看到光栅化过程,图形系统一般都使用了双缓冲机制:即提供两组颜色位面,分别称为前缓冲和后缓冲。
前缓冲处于显示状态,即屏幕看到的内容;后缓冲用于在非显示状态下进行光栅化。
一旦后缓冲绘制完毕,则切换前后缓冲。
14、z-buffer是如何进行消隐的?如果没有z-buffer要进行消隐需要做什么?(1)深度位面又称为Z缓冲,用于实现消隐。
它为每个象素存贮着一个z值,这个z值反映课从视点到与该像素对应的最近图元上点之间的距离。
将一个图元光栅化到一些相应的象素时,需要计算象素位置处图元上点的z 值并与同一象素Z缓冲区内容进行比较。
如果新得到的z值小于Z缓冲区中的z 值,那么说明即将绘制的图元上点与视点的距离比原来的点距离视点的距离更近。
该象素的z值和颜色就由当前图元上点对应的z值和颜色进行更新;如果计算出来的z值大于Z缓冲区中的z值,那么颜色缓冲区和Z缓冲区不变。
如此得到的最终图像具有正确的遮挡关系。
(2)Z缓冲区算法非常简单,图元的绘制顺序可以是任意的,速度非常快,所以被大量使用。
如果没有Z缓冲,就需要先对图元进行排序(还涉及图元分解),然后从后向前显示图元,这被称为画家算法,它是一种非常低效的消隐算法。
15、二维和三维图形光栅化的区别是什么?结果存储在哪里?
(1)二维图形的光栅化
在XY平面上,通过从多边形最低点到最高点之间的水平扫描,完成对多边形的扫描转换。
对每条扫描线,多边形的扫描转换分为四个步骤:求交、排序、配对、着色。
光栅化结果保存在颜色位面中。
(2)三维图形的光栅化
三维图形的光栅化与二维图形基本一致,但除了颜色属性还需要将深度作为属性进行插值。
光栅化结果保存在颜色和深度位面中(通过检测时):颜色用于显示图形,深度值用于消隐。
16、为什么要进行透视校准?什么时候要进行透视校准?
(1)对透视投影,光栅化时仅使用下面的公式对属性进行线性插值是有缺陷的。
01(1)(01)t u t u t u t =-⋅+⋅≤≤
线性插值没有体现出应有的纹理块透视效果,z 方向的纹理是均匀分布的。
(2)光栅阶段
17、如果不做任何变换(模型和视点、投影变换均为单位矩阵),画图时给出的
坐标是什么坐标?
规范化坐标
18、如果只定义了视景体而没有进行任何其它变换,画图时给出的坐标是什么坐
标?
视点坐标系
19、需要为几何阶段的裁剪定义任何参数吗?
不需要
20、OpenGL 中的屏幕映射是通过什么函数定义的?
glViewport(GLint x,GLint y,GLsizei width, GLsizei height)。