- 11
- 0
- 约4.56千字
- 约 6页
- 2016-03-31 发布于湖北
- 举报
OpenGL实验二.doc
计算机 学院 12计算机科学与技术 专业 3班 学号3112005883
姓名:曲绍霖 教师评定:
实验二 光照模型的实现
一、实验目的
掌握OpenGL的光照及材质效果设置方法Windows xp
开发环境:VC++6.0以及GLUT
图形交互设备:鼠标和键盘
四、实验内容
在实验一的基础上理解并实现添加各种光(环境光,发散光,镜面光,聚光),使效果更逼真以接近实际环境。
1、打开灯光,设置灯光的位置、方向、类别、颜色和衰减,并改变其值,观察效果的变化。
2、实现旋转和移动灯光。
3、设置材质,了解材质和光照如何相互影响。
五、存在的问题和感想
在教科书的基础上增加光照的效果,难度不算太大,,在光照的效果中,用户可以编辑两种材质,经过光源的添加后,使得材质的形象更突出,用户可以自由移动光源位置达到想要的效果,这次实验也是对OpenGL学习加深了认识
六、实现代码
#includewindows.h
#include stdlib.h
#include GL/glew.h
#include GL/glut.h
static int xRot=0;
static int yRot=0;
int iModel=1;
void init(void){
// 定义光源,它是一种白色的光源
GLfloat ambient[]={0.0,0.0,0.0,1.0};
GLfloat diffuse[]={1.0,1.0,1.0,1.0};
GLfloat specular[]={1.0,1.0,1.0,1.0};
GLfloat lmodel_ambient[]={0.4,0.4,0.4,1.0};
GLfloat local_view[]={0.0};
glClearColor(1.0,1.0,1.0,0.0);
glEnable(GL_DEPTH_TEST);//这句是启用深度测试,这样,在后面的物体会被挡着
glShadeModel(GL_SMOOTH);
glLightfv(GL_LIGHT0,GL_AMBIENT,ambient);//过很多次反射后最终遗留在环境中的光线强度(颜色)
glLightfv(GL_LIGHT0,GL_DIFFUSE,diffuse);//漫反射后最终遗留在环境中的光线强度(颜色)
glLightfv(GL_LIGHT0,GL_SPECULAR, specular);//镜面反射后最终遗留在环境中的光线强度(颜色)
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,lmodel_ambient);
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER,local_view);
glEnable(GL_LIGHTING);//在后面的渲染中使用光照
glEnable(GL_LIGHT0);//使用第0号光照
}
void myDisplay(void){
//定义球体材质为翡翠
GLfloat no_mat[]={0.0,0.0,0.0,1.0};
GLfloat mat_ambient[]={0.0215,0.1745,0.0215,0.55};
GLfloat mat_ambient_color[]={0.1215,0.2745,-0.5215,0.55};
GLfloat mat_diffuse[]={0.07568,0.61424,0.07568,0.55};
GLfloat mat_specular[]={0.633,0.727811,0.633,0.55};
GLfloat no_shininess[]={0.0};
GLfloat low_shininess[]={76.8};
GLfloat high_shininess[]={12.8};
GLfloat mat_emission[]={0.3,0.2,0.2,0.0};
// 定义所在光源位置
GLfloat position[]={0.0,0.0,1.5,1.0};
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
//设置可动光源位置
glPushMatrix();
glRotated((GLdouble)xRot,1.0,0.0,0.0);
glRotated((GLdouble)yRo
您可能关注的文档
- LH-HR-08-003-培训开发管理规范(A4版).doc
- lianglichi_东北财经大学网络教育本科毕业论文(梁力驰终稿)_终稿.doc
- LibSVM-2.8程序代码注释.doc
- Lightroom常用快捷键.doc
- Linux AS 7.0安装 Oracle12c 12.1.0.2.0.doc
- linux期末校内复习资料--上海应用技术学院.doc
- LN010 接触网导线架设安装技术交底.doc
- LNCMILL_Programming_manual_V04_CHT_更新说明.doc
- LS400 实验指导书 (总的).doc
- LTE网络优化试题.doc
- 2025届河北省唐山市丰润区重点达标名校初三第二次调查研究考试化学试题含解析.doc
- 2025年浙江杭州上城区七校联考初三下学期9月初态测试化学试题含解析.doc
- 郑州工业应用技术学院《教育研究方法》2021-2022学年第一学期期末试卷.doc
- 中山职业技术学院《临床医学概论Ⅰ》2023-2024学年第二学期期末试卷.doc
- 河北能源职业技术学院《英国史》2023-2024学年第二学期期末试卷.doc
- 东营职业学院《信息化系统开发及应用》2023-2024学年第二学期期末试卷.doc
- 湖北省云梦县2025届物理八年级第一学期期末复习检测试题含解析.doc
- 北京市朝阳区北京八十中学2024-2025学年语文高一第二学期期末联考模拟试题含解析.doc
- 浙江省余姚市兰江中学2024年物理八年级第一学期期末考试试题含解析.doc
- 衡东县2025年六年级数学第一学期期末经典模拟试题含解析.doc
最近下载
- 2026年公司党支部班子重点围绕在对照加强理论武装、做好群众工作、执行上级组织决定、严格组织生活等“6个对照方面”检查材料3篇文.docx VIP
- 女职工权益保护法律法规相关知识 教学课件.pptx VIP
- 2026年(新版)燃气基础知识考试题库200道【名师系列】.docx VIP
- 文献检索和论文写作 生命科学文献检索和论文写作.doc VIP
- (高清版)ZT 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼.pdf VIP
- 2019年人大附中初一下数学期末试卷.docx VIP
- 分秒必争新员工商务礼仪培训.pptx VIP
- QC成果提高金刚砂耐磨地坪施工质量合格率.docx VIP
- 井控证考试题库及答案2024.docx VIP
- 小学学生食堂新建项目可行性报告.pdf
原创力文档

文档评论(0)