1 / 31
文档名称:

计算机图形学实验报告447.doc

格式:doc   大小:403KB   页数:31页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机图形学实验报告447.doc

上传人:2286107238 2021/1/3 文件大小:403 KB

下载得到文件列表

计算机图形学实验报告447.doc

文档介绍

文档介绍:学生实验实****报告册
学年学期:
2016-2017学年 o春秋学期
课程名称:
大学计算机基础
学生学院:
通信与信息工程学院
专业班级:
学生学号:
学生:
联系:
邮电大学教务处印制
实验实****名
OpenGL基本使用
指导教师
红星
考核成绩
课程名称
计算机图形学A
课程编号
040659
实验实****地点
信息科技大厦S306
完成日期
2016年10月17日
学生
学生学号
学院专业
广电与数字媒体类
所在班级
教师评语
教师签名:
年 月 日
实验实****目的及要求
目的:
认识了解OpenGL的性质、功能
要求:
:比如球体、正方体

:平移、缩放、旋转
二、实验实****设备(环境)及要求(软硬件条件)
采用Microsoft Visual C 2010生成环境并用C++编写程序
三、实验实****容与步骤
容:
背景为黑色,在点光源下,能够实现平移、缩放、旋转的球。
步骤:
建立立体-->添加光照-->添加变换
“主函数”,在主函数中将窗口生成好。
“自定义函数1”中对窗口进行清除、填色等操作。
“自定义函数1”中设置点光源,设置光照的各种参数。
“自定义函数1”中设置平移、缩放、旋转及各参数。
“自定义函数2”中设置平移和缩放的循环。
,并且在主函数里面用“自定义函数1”为参数调用glutDisplayFunc()来注册一个绘图函数。其次用空闲回调函数glutIdleFunc()来使球体不停地循环有缩放、平移功能的函数。实现动画。
四、实验实****过程或算法(源程序、代码)
#include<GL/>
GLfloat angle = ;
GLfloat multiply = ;
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(, , , ); //设置窗口里面的背景颜色
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(, , , );
glLoadIdentity();
gluLookAt(, , , , , , , , );
{
//设置一个点光源
GLfloat light_position[] = { ,,, };//(xyzw)w为1时代表点光源,0时代表方向光源
GLfloat light_ambient[] = { ,,, };//(0001)
GLfloat light_diffuse[] = { ,,, };//(1111)
GLfloat light_specular[] = { , , , };//(1111)
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);//光源环境光强值
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);//光源漫反射强值
glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);//光源镜面反射强值
glEnable(GL_LIGHT0);//打开该光源
glEnable(GL_LIGHTING);//打开光照
}
{
glRotatef(angle, , , );
glTranslatef(, , ); //平移
glScaled(multiply, multiply, multiply); //缩放
glutSolidSphere(0.