真实感图形处理课件_第1页
真实感图形处理课件_第2页
真实感图形处理课件_第3页
真实感图形处理课件_第4页
真实感图形处理课件_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章真实感图形处理图形的真实感处理主要指场景隐藏线/面的消除、物体表面的明暗效果及其表面的色彩、纹理处理。

19.1简单光照模型9.2多边形明暗处理9.3物体表面细节模拟9.6整体光照模型9.4阴影9.5透明29.1简单光照模型(局部)光的反射、透射与转化反射、透射、吸收3例如5点光源

向周围辐射等强度的光6漫反射光光亮度

光源在景物表面的反射光中向空间各方向均匀反射出去的光。粗糙、无光泽物体(如粉笔)表面对光的反射。

7将环境光与漫反射结合起来例子9镜面反射光滑物体(如金属或塑料)表面对光的反射.

高光入射光在光滑物体表面形成的特别亮的区域。10理想镜面反射11镜面反射光照明方程n----镜面反射的会聚指数V·R)n13将环境光、漫反射与镜面反射结合起来Phong光照模型14光的衰减光在光源到物体表面过程中的衰减

。衰减函数:c0、c1、c2为用户获得场景中不同光照效果而供调整的系数。15产生彩色选择合适的颜色模型----RGB模型为颜色模型中的每一种基色建立光照明方程:17系数分解基本色彩、亮度分别控制;

环境光与漫反射光的基本色彩统一。18统一表示为:=(r,g,b)新的光照明方程:19例子21一、常数明暗处理模型(均匀着色方法)9.2多边形明暗处理任取多边形上一点,利用光照明方程计算出它的颜色;用这个颜色填充整个多边形。

适合情况

光源在无穷远处视点在无穷远处多边形是物体表面的精确表示22优点每个多边形只需计算一次光照明方程,速度快

缺点

相邻多边形颜色过渡不光滑

例子23光滑着色----插值

Gourand明暗处理模型(颜色插值))

Phong明暗处理模型(法矢量插值)25

Gourand在1971年提出了光强度插值明暗算法。该算法较好地消除了用常数明暗法处理光强度的不连续性,但是在明暗强度函数的斜率急剧变化处仍可看到马赫带效应。即Gourand明暗算法不能完全消除光强度的不连续性。Gourand明暗算法的基本思想是在各多边形的公共顶点处,用前面得到的光照较准确地计算各顶点的反射光的明暗度。而对于各多边形内部各点的明暗度,则使用线性插值法计算各点的明暗度。Gourand明暗处理模型(颜色插值)263、利用光照明方程 计算顶点颜色4、对多边形顶点颜色进行双线性插值,获得多边形内部各点的颜色29Phong明暗算法又称为法线矢量明暗算法。该方法是将多边形顶点处的法线矢量进行线性插值计算以得到多边形内各点的法线,然后用此插值计算各点的光照明暗度,因而Phong明暗算法的计算量要大于Gourand明暗算法的计算工作量。Phong算法较好地模拟了局部范围内的表面弯曲度,得到了很好的曲面效果,尤其在镜面反射的高光区显得很真实。即使不是镜面反射情况,Phong明暗算法的效果也明显地优于Gourand算法。这是因为它在每点进行了光照模型的计算,因而大大地减轻了马赫带效应。但是由于每次插值计算后的法线矢量在代入光照模型前都需要单位化,因而也大大地增加了计算工作量。Phong明暗处理模型(法矢量插值)3031Phong着色方法

法向插值着色方法

步骤

1、计算多边形单位法矢量

2、计算多边形顶点单位法矢量3、对多边形顶点法矢量进行双线性插值,获得内部各点的法矢量

4、利用光照明方程计算多边形内部各点颜色。32

33着色方法存在的问题:----不光滑的物体轮廓插值多边形绘制方法34透视变形方向依赖性35公共顶点处颜色不连续顶点方向不具有代表性36表面细节多边形

根据待生成的纹理构造细节多边形将细节多边形贴到物体表面9.3物体表面细节模拟37

颜色纹理纹理函数表示数字图像

数学公式纹理映射:38当物体表面是多边形时

直接给定多边形顶点的纹理坐标39当物体表面是参数曲面时给定参数与纹理坐标之间的关系40

1、将屏幕像素的四个角点映射到景物坐标空间中可见的物体表面上

3、将像素所对应的纹理坐标空间中的四边形内的所有纹素的值作加权平均,结果作为物体表面的漫反射系数参与颜色计算2、将景物坐标空间映射到纹理坐标空间

4142采用法向扰动法目标产生几何纹理,模拟凸凹不平的物体表面应用自然界中植物的表皮等方法对物体表面微观形状进行扰动几何纹理439.4阴影什么是阴影

光源不能直接照射的区域对光源来说,不可见的面(隐藏面)

考虑阴影的光照明方程44Z缓冲器算法产生阴影将所有景物变换到光源坐标系中,利用Z缓冲器算法按光线方向对景物进行消隐,把那些距光源最近的物体表面上点的深度值保存在阴影缓冲器中2.利用Z缓冲器算法按视线方向对景物进行消隐,将得到的每一个可见点变换到光源坐标系中,若它在光源坐标系中的深度值比阴影缓冲器中相应单元的值小,则说明该可见点位于阴影中,否则不是45优点算法简单缺点每个光源需要一个阴影缓冲器46阴影细节多边形

算法步骤在景物空间中,利用裁剪算法求出被光源直接照射的多边形或其一部分将这些多边形作为表面细节贴在物体表面上47光线跟踪

从可见点P向光源发出测试光线,若该光线在到达光源之前与其它物体相交,则P点位于阴影区域中48简单透明简单透明不考虑折射现象

插值透明

过滤透明9.5透明

49考虑折射的透明

折射定律50透射矢量的计算519.6整体光照明模型物体表面入射光的构成

(1)光源直接照射

(2)其它物体的反射光

(3)透射光

局部光照明模型仅考虑了(1)

52整体光照明方程53光线跟踪算法的基本原理自然界中光线的传播过程光源 物体表面 物体表面人眼光线跟踪过程----光线传播的逆过程5455光线跟踪算法关键

光线与物体表面的求交R=E+Dt(t>=0)E(e1,e2,e3)为射线的起点;D(d1,d2,d3)为射线的方向,R(x,y,z)为射线上的点。找到和射线最近的交点的表面,获得表面的法线、颜色、反射率、透明性等;连接可见点和光源;沿反射线方向和折射线方向继续跟踪。56575859voidglMaterial{if}[v](GLenumface,GLenumpname,TYPEparam);

参数名缺省值说明GL_AMBIENT(0.2,0.2,0.2,1.0)材料的环境光颜色GL_DIFFUSE(0.8,0.8,0.8,1.0)材料的漫反射光颜色GL_AMBIENT_AND_DIFFUSE材料的环境光和漫反射光颜色GL_SPECULAR(0.0,0.0,0.0,1.0)材料的镜面反射光颜色GL_SHINESS0.0镜面指数(光亮度)GL_EMISSION(0.0,0.0,0.0,1.0)材料的辐射光颜色60voidglLight{if}[v](GLenumlight,GLenumpname,TYPEparam)

表10-1函数glLight*()参数pname说明

pname参数名缺省值说明GL_AMBIENT(0.0,0.0,0.0,1.0)RGBA模式下环境光GL_DIFFUSE(1.0,1.0,1.0,1.0)RGBA模式下漫反射光GL_SPECULAR(1.0,1.0,1.0,1.0)RGBA模式下镜面光GL_POSITION(0.0,0.0,1.0,0.0)光源位置齐次坐标(x,y,z,w)GL_SPOT_DIRECTION(0.0,0.0,-1.0)点光源聚光方向矢量(x,y,z)GL_SPOT_EXPONENT0.0点光源聚光指数GL_SPOT_CUTOFF180.0点光源聚光截止角GL_CONSTANT_ATTENUATION1.0常数衰减因子GL_LINER_ATTENUATION0.0线性衰减因子GL_QUADRATIC_ATTENUATION0.0平方衰减因子61GLfloatlight_ambient[]={0.0,0.0,0.0,1.0};

GLfloatlight_diffuse[]={1.0,1.0,1.0,1.0};

GLfloatlight_specular[]={1.0,1.0,1.0,1.0};

glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);

glLightfv(GL_LIGHT0,GL_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论