网站大量收购独家精品文档,联系QQ:2885784924

chap08光照模型与面绘制算法.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap08光照模型与面绘制算法.ppt

第8章 光照模型与面绘制算法 光源 表面光照效果 基本光照模型 多边形绘制算法 光线跟踪方法 辐射度光照模型 添加表面细节 纹理映射 几个基本概念 光照模型 主要用于对象表面某光照位置的颜色计算 表面绘制算法 使用光照模型为对象所有投影位置确定像素颜色 真实感成像包括: 表面特性的精确表示 场景中光照效果的物理描述 光源 任一发出辐射能量的对象称为一个光源,它对场景中其他对象的光照效果有贡献 点光源 无穷远光源 辐射度衰减 方向光源和投射效果 角强度衰减 扩展光源和Warn模型 点光源 使用三个RGB分量指定的单个颜色的点光源是发光体的最简单的模型 一个场景的点光源通过给出其位置和发射光颜色来定义 无穷远光源 离场景非常远的大型光源(如太阳)也可用一个点发光体逼近,但是在方向效果上有所不同。 远距离光源仅在一个方向照明场景,从远距离光源到场景中任意位置的光线路径接近不变。 辐射强度衰减 辐射光线从一点光源出发并在空间中传播,离光源距离为dl时,它的振幅将按因子1/d2l进行衰减。 即接近光源的表面将得到较高的入射光强度,而较远的表面则强度较小。 生成真实感图形时,采用如下衰减因子: 强度衰减函数 考虑到无穷远点光源照射下,到光源的距离是不确定的,强度衰减函数可表达成: 方向光源和投射效果 一个局部光源稍加修改就可产生方向光束或投影光束 如果一个对象位于光源的方向范围之外,则它得不到该光源的光照 角强度衰减 对于一个方向光源,可按照从点光源位置出发的光强度角计算衰减 常用的方向光源角强度衰减函数为: 角强度衰减的一般公式 OpenGL光照函数 OpenGL点光源函数 指定一个OpenGL光源位置和类型 指定OpenGL光源颜色 指定OpenGL光源的光线强度衰减系数 OpenGL点光源函数 OpenGL场景描述中可包括多个点光源,而各种特性如位置、类型、颜色、衰减和投射效果等与每个点光源结合在一起 glLight*(lightName,lightProperty,propertyValue); glEnable(lightName); glEnagle(GL_LIGHTING); 指定一个OpenGL光源位置和类型 用于指定光源位置的符号常量是GL_POSITION 光源类型和光源位置坐标值用一个四元素浮点数向量来指定 GLfloat light1PosType[ ]={2.0,0.0,3.0,1.0} glLightfv(GL_LIGHT1,GL_POSITION,light1PosType); glEnable(GL_LIGHT1); 指定OpenGL光源的光线强度衰减系数 光线强度衰减的三个OpenGL特性常量是: GL_CONSTANT_ATTENUATION GL_LINEAR_ATTENUATION GL_QUADRATIC_ATTENUATION 每个衰减系数用正整数或正浮点数来设定 glLight(GL_LIGHT0,GL_CONSTAN_ATTENUATION,2.0); glLight(GL_LIGHT0,GL_LINEAR_ATTENUATION,1.0); glLight(GL_LIGHT0,GL_QUADRATIC_ATTENUATION,0.5); OpenGL方向光源(投射光源) OpenGL方向效果的特性常量有三个: GL_SPOT_DIRECTION GL_SPOT_CUTOFF GL_SPOT_EXPONENT 分别表示方向光源的方向、圆锥角以及强度衰减 表面光照效果 光照模型使用为表面设定的各种光学特性来计算表面的光照效果 这些特性包括透明度、颜色反射系数及各种表面纹理参数 漫反射:反射光沿各个方向发散出去 镜面反射:反射光集中成明亮的一个点 环境光:场景各表面的反射光生成的光照效果 基本光照模型----环境光 在基本光照模型中,可通过设定场景一般亮度级来引入背景光。这样可以生成对所有对象都相同的环境光,且近似的给出了各个照明表面的全局漫反射 环境光光强度用Ia表示 基本光照模型----漫反射 在建立表面的漫反射模型时,假设入射光在各个方向以相同强度发散而与观察位置无关--理想漫反射体 朗伯余弦定律:在与对象表面法向量夹角方向上,每个平面单位所发散的光线与夹角余弦成正比;该方向的光强度可用单位时间辐射能总量除以表面积在辐射方向的投影来计算 基本光照模型----漫反射 基本光照模型----漫反射 假设每一表面都按理想漫反射体对待,则可为确定将要按漫反射发散的入射光部分的每一个表面设定一个参数kd(漫反射系数) 这样,任何方向的漫反射是一个常数,它等于入射光强度乘以漫反射系数。 因此,环境光对每一表面上各点的漫反射贡献可表示为: 基本光照模型----漫反射 当强度为

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档