《光线跟踪算法》PPT课件

《光线跟踪算法》PPT课件

ID:45193557

大小:1.15 MB

页数:38页

时间:2019-11-10

《光线跟踪算法》PPT课件_第1页
《光线跟踪算法》PPT课件_第2页
《光线跟踪算法》PPT课件_第3页
《光线跟踪算法》PPT课件_第4页
《光线跟踪算法》PPT课件_第5页
资源描述:

《《光线跟踪算法》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、光线跟踪算法主要内容:一、实验设计二、静止多光源实现三、材料属性对光照效果的影响四、移动光源的实现实验设计问题一、影响光照效果的因素?问题二、OPENGL光线跟踪函数的函数?问题三、光线跟踪实现的基本步骤?一、OPENGL中影响光照效果的因素?1、光源光的种类:环境光:light_ambient散射光:light_diffuse镜面光:light_specular光源的分类:方向性光源:无限远,所有光线是平行的位置性光源:位置决定场景中的效果区别:GLfloatlight_position[]中的第四个参数2、材料属性材料的环境颜色:GL_AMBIENT材

2、料的散射颜色:GL_DIFFUSE材料的镜面颜色:GL_SPECULAR材料的镜面指数:GL_SHININESS材料的发射颜色:GL_EMISSION问题二、OPENGL光线跟踪函数的函数?光源:voidglLight{if}(GLenumlight,GLenumpname,TYPEparam);voidglLight{if}v(GLenumlight,GLenumpname,TYPE*param);Light:指定光源pname:光源属性param:属性值材料属性:voidglMaterial{if}(GLenumface,GLenumpname,TYP

3、Eparam);voidglMaterial{if}v(GLenumface,GLenumpname,TYPE*param);Face:那个面受光照pname:光源属性param:属性值问题三、光线跟踪实现的基本步骤?一、创建光源二、选择光照模型三、定义材料属性有了这些知识,我们就可以进行第一个简单的多光源实验。静止多光源实现自己的工作:按照光线跟踪实现的步骤进行。设置光源参数,衰减因子,聚光灯参数,材料属性参数,调用glLightfv,glMaterialfv,glEnable等函数进行设置。已有的:实现静态光源显示voidreshape(intw,in

4、th)voiddisplay(void)创建光源1、设置光源参数方向性光源,环境光颜色为蓝色GLfloatlight_ambient[]={0.0,0.0,1.0,1.0};GLfloatlight_diffuse[]={1.0,1.0,1.0,1.0};GLfloatlight_specular[]={1.0,1.0,1.0,1.0};GLfloatlight_position[]={1.0,1.0,1.0,0.0};位置性光源,环境光和散射光颜色为红色GLfloatlight1_ambient[]={1.0,0.0,0.0,1.0};GLfloatli

5、ght1_diffuse[]={1.0,0.0,0.0,1.0};GLfloatlight1_specular[]={1.0,1.0,1.0,1.0};GLfloatlight1_position[]={0.0,2.0,2.0,1.0};2、衰减因子定义衰减因子目的:增强真实效果glLightf(GL_LIGHT0,GL_CONSTANT_ATTENUATION,2.0);glLightf(GL_LIGHT0,GL_LINEAR_ATTENUATION,1.0);glLightf(GL_LIGHT0,GL_QUADRATIC_ATTENUATION,0.5

6、);glLightf(GL_LIGHT1,GL_CONSTANT_ATTENUATION,1.5);glLightf(GL_LIGHT1,GL_LINEAR_ATTENUATION,0.5);glLightf(GL_LIGHT1,GL_QUADRATIC_ATTENUATION,0.2);三个参数的默认值为1,0,03,聚光灯参数光源LIGHT1GLfloatspot_direction[]={1.0,-1.0,-1.0};glLightfv(GL_LIGHT1,GL_SPOT_DIRECTION,spot_direction);glLightf(GL_L

7、IGHT1,GL_SPOT_CUTOFF,45.0);//默认值180glLightf(GL_LIGHT1,GL_SPOT_EXPONENT,5.0);//用于控制光的集中度,越高强度越集中4,glLightfv的调用glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);glLightfv(GL_LIGHT0,GL_POSITION,

8、light_position);glLightfv(GL_LIGH

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。