如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
OpenGL程序设计基础什么是OpenGL?参考书及课程邮箱考核方式及内容主要内容一、通过辅助库使用窗口系统2、与窗口系统进行交互3、两个函数的说明4、数据类型及函数命名规则4、数据类型及函数命名规则(续)4、数据类型及函数命名规则(续)二、几何图元与场景表达2、几何图元的种类3、使用几何图元表达场景三、OpenGL中的变换1、模型及视点变换2、投影变换3、屏幕映射4、OpenGL对变换矩阵的管理4、OpenGL对变换矩阵的管理(续)5、视点变换函数gluLookAt()四、OpenGL中的照明1、设置光源(3)设置光源性质voidglLight{if}[v](GLenumlight,GLenumpname,TYPEparam);参数light指定是第几个光源,即GL_LIGHT0、GL_LIGHT1、…。参数pname指定是什么性质,其可能的值见下页表。参数param设置相应的光源特性值。函数名有v,这个参数是指针,可以设置所有特性值,函数名没有v,则只能设置只有一个特性值的特性。具体意义见下页表。注意:表中列出的GL_DIFFUSE和GL_SPECULAR的缺省值只用于GL_LIGHT0,其他几个光源的GL_DIFFUSE和GL_SPECULAR缺省值为(0.0,0.0,0.0,1.0)pname参数名2、设置材质性质2、设置材质性质(续)3、设置光照模式4、设置顶点指定法线5、补充:简单光照明模型1)理想漫反射模型(Lambert余弦定理)漫反射由表面的粗糙不平引起,它均匀地向各方向传播,与视点无关。记入射光强为Ip,物体表面上点P的法向为N,从点P指向光源的向量为L,两者间的夹角为θ,则漫反射光强为:Id=Ip*Kd*cos(θ)θ∈(0,π/2)其中,Kd是与物体有关的漫反射系数,0<Kd<1。当L、N为单位向量时:Id=Ip*Kd*(L·N)在有多个光源的情况下,有如下表示:Id=Kd∑Ipi*(Li·N)在RGB颜色模型下,漫反射系数Kd有三个分量Kdr,Kdg,Kdb分别代表RGB三原色的漫反射系数,它们是反映物体的颜色的,通过调整它们,可以改变物体的颜色。同样,我们也可以把入射光强I设为三个分量Ir,Ig,Ib,通过这些分量的值来调整光源的颜色。2)镜面反射(Phong模型)对于理想镜面,反射光集中在一个方向,并遵守反射定律。对一般的光滑表面,反射光集中在一个范围内,且由反射定律决定的反射方向光强最大。因此,对于同一点来说,从不同位置所观察到的镜面反射光强是不同的。镜面反射光强可表示为:Is=Ip*Ks*cosn(α),α∈(0,π/2)其中Ks是与物体有关的镜面反射系数,α为视线方向V与反射方向R的夹角,n为反射指数,反映了物体表面的光泽程度,一般为1~2000,数目越大物体表面越光滑。镜面反射光会在反射方向附近形成很亮的光斑,称为高光现象。同样,将V和R都格式化为单位向量,镜面反射光强可表示为:Is=Ip*Ks*(R·V)n对多个光源的情形,镜面反射光强可表示为:Is=Ks∑[Ipi(Ri·V)n]镜面反射光产生的高光区域只反映光源的颜色,镜面反射系数Ks是一个与物体的颜色无关的参数(与光洁程度有关)。综合前面已经提到的,在简单光照明模型中,我们只能通过改变物体的漫反射系数来控制物体的颜色。3)环境光环境光是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。我们近似地认为同一环境下的环境光,其光强分布是均匀的,它在任何一个方向上的分布都相同。例如,透过厚厚云层的阳光就可以称为环境光。在简单光照明模型中,我们用一个常数来模拟环境光:Ie=Ia·Ka其中:Ia为环境光的光强,Ka为物体对环境光的反射系数。5、补充:简单光照明模型(续)五、在OpenGL中使用纹理1、纹理映射(3)Mip-Map纹理反走样技术:纹理映射将纹理图案映射到不同大小的景物表面上。当图形象素与对应区域的纹理象素的数目相匹配时,它们之间形成近似一对一的映射;当图形象素的数目大于对应区域的纹理象素时,纹理象素会被放大插值。这时的显示都没有问题。但当图形象素的数目远远小于对应区域的纹理象素时,每个屏幕象素将控制一大片纹理区域并与其中心对应。这时,图形位置的微小变化,将引起象素中心对应的纹理坐标发生较大的变化,表现为运动图形的闪烁。这是一种走样现象。这时,应当取象素对应纹理区域上的平均值作为一个象素对应的纹理属性。Mip是拉丁文“multuminparvo”的缩写,意为“聚集在一块小区域内的许多东西”。Mip-Map技术保留了一幅图像的多个分辨率版本,最高版本是原始图像,低级版本的分辨率是其上级版本的1/2,其每个象素是上级图像四个象素