版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章真实感图形8.1真实感图形概述8.2消隐概述8.3隐藏线的消除
8.3.1平面体的消除8.3.1.1凸面体的消隐8.3.1.2凹面体的消隐8.3.2曲面体的消隐
8.4隐藏面的消除8.5明暗效应8.6颜色模型(图像处理已学)8.7光照高级编程(补充内容)8.8
纹理图案映射(选学内容)
8.1真实感图形概述:
一引入:1演示虚拟钻石.AVI2演示光与纹理.AVI
3问题:上面演示的图形及右面的图形有一个共同特性:具有真实感。
采用哪些技术能生成具有真实感图形?二生成真实感图形的几大技术(本章的学习内容)1隐藏线的消除(1)平面体的消隐凸面体的消隐凹面体的消隐(2)曲面体的消隐2隐藏面的消除3明暗效应(演示光照处理.exe)4颜色模型5纹理图案映射(演示texture.m)8.2消隐概述问题的提出:1人眼能正确判断形体的朝向和遮挡关系:在现实世界中,观察不透明的物体时,我们的眼睛只能看到朝向我们的表面,其余的表面(尽管存在)不能被看见.例如:粉笔盒2计算机不能自动识别形体的朝向和遮挡关系:用计算机生成立体图时,物体表面的(无论能否被看见)所有数据都存放在计算机中,但计算机不能自动识别形体的朝向和遮挡关系。3问题:如果在图形的生成过程中,不进行可见与不可见的区分处理,且不可见部分不被消隐掉,物体的所有部分都将被表现出来,会造成错觉和歧义。
例如:图A是不进行可见与不可见的区分处理,没有消隐的线框图,可以有四种解释:可见,没有消隐的线框图不能表现确定的物体形状,而只有进行必要的消隐之后才可能出现准确地判断其形状。俯视,小长方体在上俯视,有矩形孔仰视,小长方体在下仰视,有矩形孔图A:线框图的表达不确定要正确画出物体的形状必须判断哪些是可见的、哪些是不可见的、并对不可见部分进行消隐处理。二消隐的必要性:观察者B在后A在前ZXYEOXOZ平面
(一)
消隐处理时必然遇到的问题:
①判断前后关系,判断可能被遮挡的物体是哪一个对观察者来讲,A与B谁在前(靠近E),若在前则不可能被遮挡,若在后则有可能被遮挡。
②确定投影的重叠部分,判断被遮挡者的哪一部分应消隐求各投影的交点.找出A与B重叠的部分,求交点.无重叠则无遮挡.有重叠可能有遮挡。③判断某个面的朝向,以便判断出某个面不可见并进行消隐。
三常用的方法与技术
1
“最大最小试验”也被称为排斥试验。它用来快速判断空间的两个面或两个立体是否互相遮挡,无遮挡时,可以不进行包含或相交等运算,从而减少工作量,有遮挡时,再进一步判断遮挡的大小等问题。
2
最大最小的含义:
是指两个立体的投影A和B:
X方向:A的最大值小于B的最小值,或A最小值大于B的最大值
Y方向:A的最大值小于B的最小值,或A最小值大于B的最大值则A与B必定不重叠(无遮挡)。(二)技术1:最大最小试验(判断重叠的方法)ABX方向:A最大值小于B的最小值的图例3判断两个多边形是否重叠的方法:(利用最小投影矩形检验)
(1)
确定多边形A,B各自的“最小投影矩形”(最小投影矩形:能够包含平面多边形投影的最小矩形)
YmaxYminXminXmaxXY如果两个平面多边形的最小投影矩形不发生重叠,则这两个平面多边形必定不会重叠。两平面多边形必定不重叠条件:满足下列条件中的任何一个。
A在左XAmax≤Xbmin
A在右XAmin
≥XBmax
A在下YAmax≤YBmin
A在上YAmin≥YBmax
ABABABAB(2)根据两个最小投影矩形相交与否来迅速判断A,B是否重叠。
(3)若两个投影矩形重叠,需根据两个多边形是否重叠,判断遮挡关系:
若两个最小投影矩形重叠,不能断定两个多边形重叠,如下图。需进一步判断两个多边形是否重叠,只有当多边形在投影面上发生相互重叠时,才有可能在空间发生相互遮挡的关系。。
例:投影矩形重叠多边形不重叠实例投影矩形重叠多边形也重叠实例
(1)
“最小盒子”的含义:包容空间立体且体积是最小的长方体,(2)立体A必定不遮挡B的条件为:
XAmax≤XBmin
A在左
XAmin≥XBmax
A在右
ZAmax≤ZBmin
A在下
ZAmin≥ZBmax
A在上
YAmax≤YBmin
A在后
以上5个条件只要有1个满足,则A肯定不会遮挡B4判断两个立体是否重叠的方法:(利用“最小盒子”来检验判断)
以上5个条件全都不满足,则A是否遮挡B,
还需做进一步的计算和判断。5结论:最大最小试验可以快速判断互不遮挡的立体或多边形,
避免为了消隐进行的计算(例:求交点)和判断,从而加快了计算的速度。(三)技术2:包含性检验(判断是否重叠)问题:如何判断点和一个多边形是否重叠?
要确切地知道一个点和一个平面多边形的相对位置关系,就应判断点的投影是否包含在平面多边形的投影之中。如果被包含,就要比较点与该面的前后关系,最终判断它们的遮挡关系。
检测的方法:设空间一平面多边形ABCDE在投影面上的投影是A’B’C’D’E’,
空间中的另一点P在投影面上的投影为P0’。
使用以下二种方法都可以判断P’是否包含于A’B’C’D’E’。P’分别与A’B’C’D’E’连线2令α1 ∠A’P’B’α2 ∠B’P’C’α3 ∠C’P’D’α4 ∠D’P’E’
α5 ∠E’P’A’方法一:夹角之和检验法方法二:交点数检验法
(图A)(图B)问题:由P’向下作射线,如上图所示,有多个交点(奇异点),如何计数?方法:左闭右开法。1当多边形一条边的两端点的x坐标值均小于或等于P’射线的Xp’的坐标时,不作求交运算,即不计入交点数。2线段两端点的x坐标值只要大于P’射线的Xp’的坐标值,要作求交运算。zxySACBE观察者(四)技术3:求平面的法矢和方程(判断朝向)
1问题点:如何判断一个凸多面体的某个面可见与否?设想:利用其外法线矢量?2外法线矢量:
凸多面体的各个平面有其法线,规定其方向为,由物体内指向外部,称为外法线矢量。
观察者位置为E
投影线(视轴)平行于Y轴,
故:外法线与Y轴(视轴)的夹角为β
根据β的大小可以判断外法线代表的平面的可见性。
有立体ABCS,共4个面
100≤β<900,则可见(cosβ>0),如△SBC、△SAB
2β=900,则法线代表的平面在XOZ平面上有积聚性(cosβ=0)为一条线。如△ABC投影为AC线段。
3900<β≤1800,则不可见(cosβ<0)
如△SAC。zxySACBE观察者β3利用外法线与视轴的夹角能判断可见性:
4外法矢量的求法:
已知平面π(右手坐标系中)
点P0(X0Y0Z0),P1(X1Y1Z1),P2(X2Y2Z2)
为凸多面体上任意的三个按逆时针方向所取的点.有矢量P0P1,P0P2,
叉积N=P0P1×P0P2为平面的外法矢量NP0P1P2πNP0P1P2
P0P1=(x1—x0)i+(y1—y0)j+(z1—z0)kP0P2=(x2—x0)i+(y2—y0)j+(z2—z0)k可得夹角β
cosβ=B/
由于N恒为正,
故:cosβ的正负可以由B来确定B>0 则该平面可见B=0 则该平面具有积聚性。(化为一条线)B<0 则该平面不可见结论:由求外法线矢量与视角的夹角变为求B即可判断平面的可见性。zxySACBE观察者β
例:求三棱维的各平面的可见性
共有4个平面
1)△SAB平面
xyzS112A200B120C000zxySACBE观察者2)△SBC
zxySACBE观察者3)△SCAzxySACBE观察者4)△ACB
zxySACBE观察者结果:△SAB平面和△SBC平面可见;
△SCA平面不可见;
△ACB平面具有积聚性。zxySACBE观察者(五)技术4:空间两线段在投影面上的交点消隐过程中,要做大量的求交运算,以确定整条线段中被隐藏掉的线段的起点和终点,区分出可见段和不可见段。P2(x2,y2)P3(x3,y3)P1(x1,y1)P4(x4,y4)s1s2例:有两条线段s1,s2,找两条线段的交点
s1参数方程:s1(u)=(1-u)P1+uP2(0«u«1)
s2参数方程:s2(v)=(1-v)P3+vP4(0«v«1)
即:s1(u)=P1-u(P2-P1)s2(v)=P3-v(P4-P3)若S1与s2有交点,则:s1(u)=s2(v)
即:P1-u(P2-P1)=P3-v(P4-P3)P1,P2,P3,P4代表点,展开为:
x1-u(x2-x1)=x3-v(x4-x3)y1-u(y2-y1)=y3-v(y4-y3)通过上面式子能求出u,v的值:求出u,v的值,即可求出交点的值:(见例题)例题:已知P1(1,1),P2(4,4),P3(5,2),P4(2,3.5)
求两条线段P1P2,P3P4的交点.
先求u,v的值:交点坐标为:
(六)技术5:深度检测:问题:三角形ABC在XOZ平面的投影为三角形A’B’C’,
点P的投影P’与三角形A’B’C’重叠,是否显示?人眼判断容易,计算机里只存数据,很难判断。思路:判断点P与π面离视点的距离,如果P在π之后(相对于视点而言),则遮挡,消隐点P,
如果P在π之前(相对于视点而言),则不遮挡,应显示点P。PAAC’B’A’CBP’π做法:P点至视点作一直线L,平行于Y轴,与π面交于点M,直线L的方程:X=Xp
Y=Yp+t
Z=ZpPAAC’B’A’CBP’πML平面π的方程:AX+BY+CZ+D=0求解直线与平面的方程:t=-(AXp+BYp+CZp+D)/B(A,B,C的值在讨论叉积时已求出)若t>0,则Ym>Yp,P在后,被遮挡若t<0,则Ym<Yp,P在前,不被遮挡例题:已知π面上有一个三角形ABC,A(1,5,1),B(4,5,2),C(2,5,5),
空间上有一点P(2,3,3),是否显示点P?PAAC’B’A’CBP’πMD=-(AX0+BY0+CZ0)=55t=-(AXp+BYp+CZp+D)/B=2>0因此P被遮挡,不显示点P8.3隐藏线的消除8.3.1平面体的消除8.3.1.1凸面体的消隐8.3.1.2凹面体的消隐8.3.2曲面体的消隐
8.3.1.1凸面体的消隐方法一立体表面法线与可见性的关系:zxySACBE观察者β1设平面外法线与y轴的夹角为β,可根据β的大小判断可见性:100≤β<900,则可见(cosβ>0)2β=900,则法线代表的平面在XOZ平面上有积聚性3900<β≤1800,则不可见(cosβ<0)而cosβ=B/|N|
由于N恒为正,故:2cosβ的正负可以由B来确定,仅计算B的值,即可判断可见性。
B>0时,可见B<0时,不可见B=0时,产生积聚性二利用立体表面外法线与可见性的关系,消去凸多面体的隐藏线设有一个立方体,其八个顶点坐标值及六个面的面环为:xyz12345678问题:以XOZ坐标平面为投影面,画出该立方体的正二轴测图。将空间立体绕z轴逆时针旋转,再绕x轴顺时针转,最后将两次旋转后的立体向XOZ坐标面上坐正投影。在形成过程中,若进行消隐处理,得到的轴测图是消除了隐藏线的正二轴测图.分析:正二轴测图的形成过程:两次旋转后的变换矩阵将立体各顶点的坐标乘上变换矩阵T,得到变换后的各顶点的坐标:解决方法:对六个面逐一计算出每个面的B值,并根据B值判断可见与否:xyz12345678有3个面可见,按照变换后的顶点坐标值,画出这三个可见面的边框线段,即可得到一个消除了隐藏线的立方体正二轴测图xyz8.3.1.2凹面体的消隐一消除的三个步骤:
step1:求出各表面的外法线方向,将表面分为潜在可见面和不可见面两类:
ABCDEA’B’C’D’E’例如:求出各表面的外法矢量,并与视线向量点积后可判断出:
AA’B’B,BB’C’C,CC’D’D,ABCDE是潜在可见面
AA’E’E,EE’D’D,A’B’C’D’E’是不可见面Step2:对每个潜在可见面的每一条边框线段都作同样处理:(即:检查它是否被其它潜在可见面挡住了,挡住全部还是挡住一小段还是一点没挡住)以判断线段是否被一个潜在可见面挡住为例说明:分情况讨论:(一)线段与潜在可见面的任何边都不相交,又有两种情况:1线段投影与潜在可见面投影分离,则线段不被遮挡2线段投影在多边形投影之中:又分两种情况:线段全部被隐藏和完全可见判断方法:深度检测从a的中点向视点引射线,若此射线与多边形有交点,则说明a的中点比面ABCDE离视点远,则a被遮挡,否则a可见。aACDEB(二)如果线段与多边形(潜在可见面)的交点存在,则多边形把线段分成许多子线段,每条子线段上的所有点具有相同的隐藏性:p1t1t2t3t4p21将判断整条线段P1P2是否被遮挡的问题转化为判断各字段是否被遮挡的问题。2对落在多边形内的子线段判断其是否被隐藏的判定可采用线段与多边形无交点时的判定方法:从线段的中点向视点引射线,若此射线与多边形有交点,则被遮挡,否则可见。Step3:绘制可见线段及潜在可见线段的最终可见子段,输出图形1问题:一条线段与多个潜在可见面进行隐藏判断时,可能求出的子线段的位置不同,如何确定最终的可见子段?ab线段与第1个潜在可见面的相交情况线段与第2个潜在可见面的相交情况线段与第3个潜在可见面的相交情况并运算后得到a、b可见子段2方法:对隐藏子段进行并运算,即可确定隐藏子段的位置余下的是可见子段。8.3.2曲面体的消隐处理-离散法离散法的基本思想:1将曲面离散成许多小平面片,形成网格。2对整个曲面片的消隐工作转化为判断各网格多边形的可见性。3对每个网格多边形可见性的判定可采用前面学的凹多面体或凸多面体的消隐方法。通过求网格多边形外法矢量N,判断N,S的点积是否小于0来判断面的可见性。8.4隐藏面的消除使用光栅图形显示器绘制物体的真实图形时,必须进行隐藏面的消除工作,即把被遮挡部分隐藏掉。学习三种消除隐藏面方法:8.4.1画家算法:一引入:1油画家作画的过程:先画远景,再画中景,最后画近景,近景将相同位置上的中景、远景覆盖掉。
2借鉴此法在计算机中作画:(1)先将组成三维图形的各个面按其离视点由远及近的顺序排序(2)按排序结果,先画远的面,再画近的面,则近的面覆盖远的面,相当于消除了隐藏面。二画家算法的基本步骤:1将屏幕置成背景色;2把物体的各个面按其离视点的远近进行排序,离视点远的面在表头,离视点近的面在表尾,构成深度优先级表;3从表头至表尾逐个取出多边形,投影到屏幕上,显示多边形所包含的实心区域。由于后显示的图形取代先显示的画面,而后显示的图形所代表的面离视点更近,所以由远及近地绘制各面,相当于消除了隐藏面。
三画家算法存在问题:1深度排序计算量大2如图所示,多边形相交或循环重叠时,需分割多边形,怎么办?四改进该算法思路:1画家算法在建深度优先表时是以各个面为对象,能不能不考虑面,而是考虑像素,这样也许能避免循环重叠时,分割多边形。2画家算法需按由远及近的顺序对各个面进行排序,工作量太大,能不能不排序?
想到用两个缓冲器:用祯缓冲器存放每个像素的亮度值(或颜色值)用Z缓冲器存放每个像素的深度值这样可以不排序,原因:在缓冲区里,不断在像素级上以近物取代远物,避免排序。下面学习改进算法——Z缓冲区算法8.4.2Z缓冲区算法:屏幕祯缓冲器Z缓冲器每个单元存放对应象素的颜色值每个单元存放对应象素的深度值一算法流程:祯缓冲器置成背景色;
Z缓冲区置成最小Z值;
for(各个多边形){扫描转换该多边形;
for(多边形所覆盖的每个像素(x,y){计算该像素的深度值Z(x,y);if(Z(x,y)>Z缓冲区在(x,y)处的值){把Z(x,y)存入缓冲区中(x,y)处;同时把该像素的亮度值或颜色值存入祯缓冲器的(x,y)处;}}}该算法优点:在像素级上以近物取代远物,实现起来比总体排序灵活简单,有利于硬件实现。该算法缺点:
Z缓冲区需要较多的存储空间,例如:当象素数为500×500时,需250k个存储空间,而深度值一般用浮点数表示,每个数占4个字节,共需1M。8.4.3扫描线算法:ACBDa一基本思想:
用两个缓冲区实现
for(每条扫描线){对扫描线a而言:将a上的所有像素的颜色值置成背景色将a上的所有像素的深度值置成最小Z值
for(各个多边形){求与第i个多边形的相交区间ABfor(AB上的所有像素){if(A像素的Z值>buffer里相同位置的Z值){用ZA代替buffer里的Z值;同时将A像素的颜色值代替buffer里相同位置的颜色值;}}}}二基本步骤:1把物体各面投影到屏幕上;2计算扫描线与物体各投影面的相交区间;3当两个区间在深度方向上重叠时,采用深度测试确定可见部分。三算法流程:
for(每条扫描线){
扫描线祯缓冲器置成背景色;扫描线Z缓冲区置成最小Z值
for(各个多边形){求出该多边形与当前扫描线的相交区间
for(区间所含的所有像素){if(多边形在该处的Z值>buffer里相同位置的Z值){用多边形在该处的代替buffer里的Z值;用多边形在该处的颜色值代替buffer里相同位置的颜色值;}}}}8.5明暗效应8.5.1引入:一提出问题:1讲台各个面的明暗程度不同,它与哪些因素有关?
答:与讲台的表面材质和光照有关。2演示光照处理.exe
3计算机屏幕显示真实感图形需作哪些工作?答:消隐处理(已学)明暗处理(浓淡处理)4右图所示图形是经过消隐处理和浓淡处理后生成的真实感图形。
5问题:如何实现这种明暗处理?二解决方法:
建立一个数学模型(光照模型),并用这个光照模型计算出三维形体表面每个点的明暗度。
三概述本节内容:1什么叫光照模型?2怎样建立光照模型?3明暗处理的方法?
8.5.2光照模型一什么叫光照模型?1定义:根据光学物理的有关定律,计算物体表面各点投射到观察者眼中的光线的光亮度和色彩组成的数学公式。
2怎样理解光照模型?光照模型就是一个数学模型,我们可以用这个数学模型求出物体表面每一点的亮度,因此它也叫浓淡模型。二什么叫局部光照模型?
1问题点:(1)自然界中真实光线对物体表面亮度的影响很难精确模拟。怎么办?(2)方法:1)只能逼近实际条件,与实际条件越接近,所得的光照模型越复杂,计算量越大,逼真性越强。2)一般情况下,不考虑太复杂,只从三个方面考虑:
环境光的漫反射、入射光的漫反射、镜面反射。3)若能建成这3种反射光的数学公式,就能较好的模拟出光照效果和镜面高光,得到真实感图形,且计算简单。什么叫局部光照模型?(1)当我们只考虑三种反射光,并建立每种反射光的数学模型,再将它们和在一起得到的就是局部光照模型。
(2)定义:一般情况下,只考虑光源的漫反射(环境光漫反射+入射光漫反射)和镜面反射,此时得到的光照模型叫局部光照模型。(3)局部光照模型优点:局部模型是一个经验模型,但能在较短时间内获得具有一定真实感的图形,能较好模拟光照效果和镜面高光,且计算简单,所涉及参数量易于获得,
在实际中被广泛应用和推广,是目前三维图形真实感处理技术采用的主要方法
8.5.3怎样建立局部光照模型?1建立环境光的漫反射的数学模型:
Ia:环境光的光能强度。环境光在空间中近似均匀分布,即在任何位置、任何方向上强度一样,记为Ia
Ka:环境光反射系数。环境光反射系数在分布均匀的环境光照射下,不同物体表面所呈现的亮度未必相同,因为它们的环境光反射系数不同。
E1:物体表面所呈现的亮度物体表面上的一点在接受到环境光的照明而反射的光能2建立入射光的漫反射数学模型:E2:物体表面上的一点接受到入射光的照明后反射的光强
Id:由点光源发射出的入射光的光强Kd:入射光的漫反射系数(0<Kd<1)
其值由物体的表面材质决定
入射光与表面上点的法向量之间的夹角N光源3建立镜面反射光数学模型:E3:
镜面反射光的光强Id:
入射光的光强物体表面的反射率,它是入射角和光波长的函数n为一整数,一般为1~2000视线与反射光的夹角N视线光源4建立单一光源的局部光照模型:=++8.5.4明暗处理方法一引入:从光照模型可看出,在给定条件下(入射光方向等条件),
只要知道物体表面某一点的法线,就可算出该点的亮度,因此进行明暗处理的关键:求表面某一点的法线。学习三种通过求法线进行明暗处理的方法。N视线光源二Flat明暗处理法:1问题:(1)对于平面多面体(例:长方体):因为同一面上各个点的法矢量相同,则每个面上所有点的亮度相同。所以对于每个面求出一个点的外法矢量就等于求出该面上所有点的外法矢量,再利用光照模型就能求出每个点的亮度
(2)对于表面是弯曲的形体:每个点的法矢量不同,需求出曲面上每一点的法向量,再用光照模型求出每一点的亮度
问题:计算量太大,如何提高速度?
2解决方法:(1)用右图所示的平面多边形逼近弯曲的表面形体.(2)对每个平面多边形而言:由于每个面都是平面,同一面上任一点法线都一样,则同一面上只求一点法线即可,再用光照模型可求出每个多边形的亮度。该方法叫Flat明暗处理法。
3Flat明暗处理法缺点:当用较少的平面多面体逼近曲面体时,相邻多边形的边界上所感受到的亮度超过实际值,使本来具有相同亮度的区域看上去是明暗不同的区域,即产生马赫带效应。改进方法:(1)哥罗德(gourand)明暗处理法对各个多边形的顶点的亮度进行插值,求出多边形内各点的亮度。(2)冯(phone)明暗处理法:对各个多边形的顶点的法矢量进行插值,求出多边形内各点的法矢量,从而求出各点的亮度。
三哥罗德(gourand)明暗处理法:Step1:计算每个多边形顶点的平均单位法矢量。方法:顶点V的法矢量为共享V点的四个面的法矢量的平均,各个面的法矢量可用相邻两边向量的外积求得。
Nv=(N1+N2+N3+N4)/4N1N2N4N3NvVStep2:对每个顶点用光照模型求出其亮度。Step3:对多边形顶点的亮度进行双线性插值求出多边形上所有点的亮度。扫描线stpABC表示亮度哥罗德(gourand)明暗处理法优点:算法简单,计算量小,解决了两个多边形之间不连续过渡,以及多边形内亮度单一的问题。哥罗德(gourand)明暗处理法缺点:线性插值会造成表面上出现过亮或过暗的条纹,即马赫带效应没有完全消除。解决方法:phone明暗处理法四冯(phong)明暗处理法NsNtNcNpNaNbStep1:计算每个多边形顶点处的平均单位法矢量Step2:用双线性插值方法求出多边形内部各点的法矢量Step3:用光照模型求出多边形内各点的亮度数字图像穴埋后polygon
三维表面模型用冯(phong)明暗处理法进行明暗处理的实例:优点:结果精确,真实感强缺点:计算量大8.7光照高级编程(补充内容)学习内容:了解OpenGL如何模拟显示的光照效果定义期望的光源和光照模型定义被照物体的材质8.7.1真实世界与OpenGL中的光照一真实世界中的光照:例如:阳光普照的晴天,大海宛如蓝宝石乌云密布的阴天,大海灰蒙蒙一片二OpenGL中的光照:演示程序:无光照的球面:二维的圆盘有光照的球面:显现三维效果三光照分量:
OpenGL对光照效果的计算由四个独立的部分叠加而成。即:射光、环境光、漫反射光、镜面光。四材质颜色:
OpenGL中近似认为:材质的颜色由反射光中的红、绿、蓝3色所占的百分比决定。8.7.2向场景中加入光照的步骤用实例长方体表面图(求法线加光照)说明:1定义所有物体每个顶点的法向量方向2建立、选择并放置一个或多个光源3建立并选择一个光照模型4定义场景中物体的材质8.7.3创建光源一函数形式:
voidglLight{if}[v](Glenumlight,Glenum
pname,TYPEparam);
例:
Glfloatlight_ambient[]={0.0,0.0,0.0,1.0};
glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);light:光源的标识。例:GL_LIGHT0~GL_LIGHT7GL_LIGHTi:第i号光源pname:需设置的属性。(环境光的设置)param:代表需要给pname代表的属性设置的值。二glLight*()的pname参数及其默认值参数名称默认值说明GL_AMBIENT0,0,0,1RGBA模式的环境光GL_DIFFUSE1,1,1,1RGBA模式的漫反射光GL_SPECULAR1,1,1,1RGBA模式的镜面光GL_POSITION1,0,1,0光源位置齐次坐标(x,y,z,w)上表中GL_DIFFUSE、GL_SPECULAR的默认值只对GL_LIGHT0有效,对于其它的光源,默认值都是(0.0,0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宣传推广健康生活习惯承诺书范文7篇
- 资产安全保障不遗漏承诺书(3篇)
- 资金审批流程说明函(4篇)
- 个人诚信还贷承诺书7篇
- 环保多元化承诺书(8篇)
- 自然和谐共生环境友好承诺书(7篇)
- 青岛2026国家开放大学计算机网络-期末考试提分复习题(含答案)
- 全民终身学习机会承诺书9篇
- 个体资金审慎管理保证承诺书3篇
- 项目工期进度保证承诺书4篇范文
- 2024译林版(三起)四年级英语下册 Project1 My school model 教案
- DB34∕T 5366-2026 场(厂)内专用机动车辆使用合规管理基本要求
- 2026山东枣庄市财金控股集团有限公司招聘5人笔试备考试题及答案解析
- 2026年宁夏财经职业技术学院单招综合素质考试题库及答案详解(真题汇编)
- 2026年新疆昌吉州共同体初三5月摸底联考化学试题含解析
- 校园绿化种植与灌溉系统方案
- 2026四川九洲芯辰微波科技有限公司招聘总账会计岗等岗位98人笔试参考题库及答案解析
- 钻机介绍教学课件
- 精细化成本管理在介入科成本控制中的应用
- 深度解析(2026)《NBT 10617-2021制氢转化炉炉管寿命评估及更换导则》
- 2026年驾驶证换证三力测试备考题及思路梳理含答案
评论
0/150
提交评论