没有合适的资源?快使用搜索试试~ 我知道了~
实验7OpenGL光照.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 122 浏览量
2021-12-17
10:11:23
上传
评论 1
收藏 30KB DOC 举报
温馨提示
试读
13页
实验7OpenGL光照.doc
资源推荐
资源详情
资源评论
.
1 / 13
实验 7 OpenGL 光照
一、 实验目的
了解掌握 OpenGL 程序的光照与材质,能正确使用光源与材质函数
设置所需的绘制效果。
二、 实验内容
〔1下载并运行Nate Robin教学程序包中的lightmaterial程序,
试验不同的光照与材质系数;
〔2 运行示范代码 1,了解光照与材质函数使用。
三、 实验原理
为在场景中增加光照,需要执行以下步骤:
〔1 设置一个或多个光源,设定它的有关属性;
〔2 选择一种光照模型;
〔3 设置物体的材料属性。
具体见教材第 8 章 8.6 节用 OpenGL 生成真实感图形的相关内容。
四、 实验代码
.
2 / 13
#include<GL/glut.h>
#include<stdlib.h>
static int year =0,day=0;
void init<void>{
GLfloat mat_specular[]={1.0,1.0,1.0,1.0};
GLfloat mat_shininess[]={50.0};
GLfloat light_position[]={1.0,1.0,1.0,0.0};
GLfloat white_light[]={1.0,1.0,1.0,1.0};
GLfloat Light_Model_Ambient[]={0.2,0.2,0.2,1.0};
glClearColor<0.0,0.0,0.0,0.0>;
glShadeModel<GL_SMOOTH>;
//glMaterialfv〔材质指定,单值材质参数,具体指针;
glMaterialfv<GL_FRONT,GL_SPECULAR,mat_specular>;//镜 面反
射光的反射系数
.
3 / 13
glMaterialfv<GL_FRONT,GL_SHININESS,mat_shininess>;// 镜 面
反射指数
//glLightfv〔光源,属性名,属性值;
glLightfv<GL_LIGHT0, GL_POSITION, light_position>; //光源
位置
glLightfv<GL_LIGHT0, GL_DIFFUSE, white_light>; //漫放
射光分量强度
glLightfv<GL_LIGHT0, GL_SPECULAR, white_light>; //折射光
强度
glLightModelfv<GL_LIGHT_MODEL_AMBIENT,Light_Model_Am
bient>;
//光源 2 GL_LIGHT1
GLfloat mat_specular1[]={1.0,1.0,1.0,1.0};
GLfloat mat_shininess1[]={50.0};
GLfloat light_position1[]={0.0,0.0,0.0,0.0};
GLfloat red_light[]={1.0,0.0,0.0,1.0};
剩余12页未读,继续阅读
资源评论
huayuya123
- 粉丝: 26
- 资源: 31万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功