计算机图形学实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 3D模型的加载、渲染与三维操作

学院:

专业班级:

指导老师:

学号:

姓名:

完成日期:

目录

一、实验目的 (3)

二、使用的工具软件及环境 (3)

三、实验内容 (3)

四、实验步骤 (3)

五、思考 (12)

一、实验目的

1、掌握在Microsoft Visual Studio环境中使用OpenGL、GLUT和GLUI;

2、了解计算机图形学固定流水线;

3、了解OpenGL编程基础;

4、掌握三维观察的数学表达和程序实现;

5、掌握多边形网格的绘制;

二、使用的工具软件及环境

Microsoft Visual Studio 2010、OpenGL、Glut、Glui

三、实验内容

1、在VS 2010中配置OpenGL环境;

2、编译简单的GLUT程序;

3、编译GLUI源代码,并在调试模式下执行6个示例程序;

4、在给定的工程中添加绘制简单几何体的代码;

5、在给定的工程中添加读取、绘制三维模型的代码;

6、在给定的工程中添加旋转、平移和缩放的控制代码;

四、实验步骤

1、安装Microsoft Visual Studio软件

版本选择:Microsoft Visual Studio 2010以上版本

2、VS2010中配置GLUT

1)下载GLUT。Windows环境下的GLUT下载地址:

/resources/libraries/glut/glutdlls37beta.zip

2)将下载的压缩包解开,将得到5个文件:glut.h、glut.lib、glut32.lib、

glut.dll、glut32.dll。3)将glut.h放到"%WinDir%\Program

Files(x86)\Microsoft SDKs\Windows\v7.0A\Include\gl\"文件夹中。

4)将glut.lib和glut32.lib放到"%WinDir%\Program

Files(x86)\Microsoft Visual Studio 10.0\VC\lib\"文件夹中。

5)将glut.dll和glut32.dll放到"%WinDir%\system32"文件夹(32位操作

系统)或者"%WinDir%\SysWOW64"文件夹(64位操作系统)。

3、测试GLUT配置环境

1) 打开VS2010,选择文件->新建->项目,选择Win32控制台应用程序,填入合适的名字如OpenGLTest,然后选择确定。

2) 在弹出的对话框中点击下一步,然后在附加选项中选择空项目,点击完成。

3) 然后向该工程添加一个源代码文件,取名为OpenGLTest.cpp。

4) 向OpenGLTest.c中添加代码(可在公共邮箱下载)

#include

#include

#include

void myDisplay()

{

glClear(GL_COLOR_BUFFER_BIT);

glRectf(-0.5f,-0.5f,0.5f,0.5f);

glFlush();

}

int main(int argc,char *argv[])

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);

glutInitWindowPosition(100,100);

glutInitWindowSize(400,400);

glutCreateWindow("第一个OpenGL程序");

glutDisplayFunc(&myDisplay);

glutMainLoop();

return 0;

}

5) 设置必要的静态链接库列表

选择“项目->属性->链接器->输入->附加包含目录”,填写必要的静态链接库列表,如“opengl32.lib; glu32.lib; glut32.lib”

6) 编译、链接、执行该程序,生成一个黑色的窗口,中央显示一个白色的矩形,表明配置环境正确。

4、编译GLUI库文件和示例程序

在公共邮箱中下载GLUI源代码并解压到合适的目录

用VS2010打开"glui-2.36\src\msvc"目录下的glui.sln解决方案文件。

在“解决方案资源管理器”中右键点击“解决方案"glui"”项,点击批生成,勾选前四项,点击生成。

在“解决方案资源管理器”中右键点击“解决方案"glui"”项,点击批生成,取消选择前四项,勾选其余项,点击生成。

在"glui-2.36\src\msvc\bin"目录下可见到生成的动态链接库文件以及可执行文件。

在"glui-2.36\src\msvc\lib"目录下可见到生成的静态链接库文件。

将glui相关的头文件、静态链接库文件、动态链接库文件依次放入4.2节中所述目录下。

5、编译MeshViewer示例程序

从公共邮箱中下载MeshViewer示例程序,试编译运行。

6、在示例程序中添加代码实现下述功能

1)在MeshViewer.cpp文件myGlutDisplay函数的相应位置,添加绘制圆柱的代码

void DrawCylinder()

{//绘制圆柱体

float h = 1.0f;

//绘制上面的圆

glBegin(GL_TRIANGLES);

glNormal3f(0.0f, 0.0f, 1.0f); //确定法向

for (int i = 0; i <= n; i++)

{

//点的顺序(n,h),(0,h),(n+1,h)

glVertex3f(R*cos((2 * Pi)*i / n), R*sin((2 * Pi)*i / n), h);

glVertex3f(0, 0, h);

glVertex3f(R*cos((2 * Pi)*(i + 1) / n), R*sin((2 * Pi)*(i + 1) / n), h);

}

glEnd();

//绘制下面的圆

glBegin(GL_TRIANGLES);

glNormal3f(0.0f, 0.0f, -1.0f); //确定法向

for (int i = 0; i <= n; i++)

{

//点的顺序(n,0),(n+1,0),(0,0)

相关文档
最新文档