OpenGL编程精粹

OpenGL编程精粹

ID:41037267

大小:75.00 KB

页数:9页

时间:2019-08-14

OpenGL编程精粹_第1页
OpenGL编程精粹_第2页
OpenGL编程精粹_第3页
OpenGL编程精粹_第4页
OpenGL编程精粹_第5页
资源描述:

《OpenGL编程精粹》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《OpenGL编程精粹》实验报告班级:计科083姓名:许银学号:0804641004指导教师:陈永强2011年6月4日一、实验目的通过本实验,使自己了解OpenGL的有关原理、算法及系统,掌握基本图形学显示程序设计方法,及三维图形程序设计方法,还要学习OpenGL光源、光照模型、物体材质、明暗处理、深度测试等生成真实世界的基本方法,为进一步学习计算机辅助设计方面的设计知识打下基础,同时通过此课程设计提高动手实践能力和学习分析能力。二、实验要求这次课程设计的要求是通过OpenGL编程,模拟太阳、地球、月亮三者之间公转与自转的运动关系。三、开发环境基于OpenGL的Micros

2、oftVisualC++6.0四、实验内容//外部变量定义staticGLfloata=3.5;staticGLfloatb=2;staticGLfloatx=0.0;staticGLfloaty=2.0;staticGLfloatspin=0.0;staticGLfloatright=0.0;staticGLfloatleft=0.0;staticGLfloatup=0.0;staticGLfloatdown=0.0;staticsun_rotate=0.0;staticm=0.0;staticn=0.0;staticm_spin=0.0;staticm_x=1.0;st

3、aticm_y=0.0;voidsunfunc(void){ sun_rotate+=2.0; if(sun_rotate>360.0)  sun_rotate-=360.0; glutPostRedisplay();}voidrightfunc(void){ right+=2.0; if(right>360)  right-=360; glutPostRedisplay();}voidleftfunc(void){ left+=2.0; if(left>360)  left-=360; glutPostRedisplay();}voidupfunc(void){ up+=

4、2.0; if(up>360.0)  up-=360.0; glutPostRedisplay();}voiddownfunc(void){ down+=2.0; if(down>360.0)  down-=360.0; glutPostRedisplay();} voidspinfunc(void){ spin+=0.006; if(spin>360)  spin-=360.0; x=a*sin(spin); y=b*cos(spin); glutPostRedisplay();}voidm_spinfunc(void){ m_spin+=2; if(m_spin>360

5、.0)  m_spin-=360; m_x=sin(m_spin); m_y=cos(m_spin); glutPostRedisplay();}//初始化voidinit(void){ //设置背景色 glClearColor(0.0,0.0,0.0,0.0);//设置平滑着色 glShadeModel(GL_SMOOTH);//启用深度测试消隐 glEnable(GL_DEPTH_TEST);//全局环境光 GLfloat model_ambient[]={0.1,0.1,0.1,1.0};//光源位置 GLfloat light_position[]={1.0,1.0

6、,1.0,0.0};//光的环境强度 GLfloat light_ambient[]={1.0,1.0,1.0,1.0};//光的散射强度 GLfloat light_diffuse[]={1.0,1.0,1.0,1.0};//光的镜面强度 GLfloat light_specular[]={1.0,1.0,1.0,1.0}; //设置背景色 glClearColor(0.0,0.0,0.0,0.0); //设置平滑着色 glShadeModel(GL_SMOOTH); //启用深度测试消隐 glEnable(GL_DEPTH_TEST); glLightfv(GL_LIG

7、HT0,GL_POSITION,light_position); glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient); glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse); //光照模型 glLightModelfv(GL_LIGHT_MODEL_AMBIENT,model_ambient);//启用光照 glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); //启用混合 glEnable(GL_BLE

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

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

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