计算机图形学上机实验指导

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

计算机图形学上机实验指导

指导教师:张加万老师

助教:张怡

2009-10-10

目录

1.计算机图形学实验(一) – OPENGL基础 ..................................... - 1 -

1.1综述 (1)

1.2在VC中新建项目 (1)

1.3一个O PEN GL的例子及说明 (1)

2.计算机图形学实验(二) – OPENGL变换 ..................................... - 5 -

2.1变换 (5)

3.计算机图形学实验(三) - 画线、画圆算法的实现....................... - 9 -

3.1MFC简介 (9)

3.2VC6的界面 (10)

3.3示例的说明 (11)

4.计算机图形学实验(四)- 高级OPENGL实验...................... - 14 -

4.1光照效果 (14)

4.2雾化处理 (16)

5.计算机图形学实验(五)- 高级OPENGL实验........................ - 20 -

5.1纹理映射 (20)

5.2反走样 (24)

6.计算机图形学实验(六) – OPENGL IN MS-WINDOWS .......... - 27 -

6.1 实验目标: (27)

6.2分形 (28)

1.计算机图形学实验(一) – OpenGL基础

1.1综述

这次试验的目的主要是使大家初步熟悉OpenGL这一图形系统的用法,编程平台是Visual C++,它对OpenGL提供了完备的支持。

OpenGL提供了一系列的辅助函数,用于简化Windows操作系统的窗口操作,使我们能把注意力集中到图形编程上,这次试验的程序就采用这些辅助函数。

本次实验不涉及面向对象编程,不涉及MFC。

1.2在VC中新建项目

1.2.1新建一个项目

选择菜单File中的New选项,弹出一个分页的对话框,选中页Projects中的Win32 Console Application项,然后填入你自己的Project name,如Test,回车即可。VC为你创建一个工作区(WorkSpace),你的项目Test就放在这个工作区里。

1.2.2为项目添加文件

为了使用OpenGL,我们需要在项目中加入三个相关的Lib文件:glu32.lib、glaux.lib、opengl32.lib,这三个文件位于c:\program files\microsoft visual

studio\vc98\lib目录中。

选中菜单Project->Add To Project->Files项(或用鼠标右键),把这三个文件加入项目,在FileView中会有显示。这三个文件请务必加入,否则编译时会出错。或者将这三个文件名添加到Project->Setting->Link->Object/library Modules 即可。

点击工具条中New Text File按钮,新建一个文本文件,存盘为Test.c作为你的源程序文件,再把它加入到项目中,然后就可以开始编程了。

1.3一个OpenGL的例子及说明

1.3.1源程序

请将下面的程序写入源文件Test.c,这个程序很简单,只是在屏幕上画两根线。

#include

#include

#include

#include

//初始化OpenGL场景

void myinit (void)

{

glClearColor (0.0, 0.0, 0.0, 0.0); //将背景置成黑色

glShadeModel (GL_FLAT); //设置明暗处理

}

//用户的绘图过程

void CALLBACK display(void)

{

glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //清除缓存glBegin(GL_LINES); //开始画一根白线

glColor3f (1.0f, 1.0f, 1.0f); //设置颜色为白色

//设置第一根线的两个端点,请注意:OpenGL坐标系的原点是在屏幕左下角glVertex2f(10.0f, 50.0f);

glVertex2f(110.0f, 50.0f);

glColor3f (1.0f, 0.0f, 0.0f); //设置颜色为红色

//设置第二根线的两个端点

glVertex2f(110.0f, 50.0f);

glVertex2f(110.0f, 150.0f);

glEnd(); //画线结束

glFlush (); //绘图结束

}

//

//主过程:

// 初始化Windows的窗口界面

// 并初始化OpenGL场景,绘图

int main(int argc, char** argv)

{

auxInitDisplayMode (AUX_RGB); //初始化显示模式,采用RGB彩色系统。auxInitPosition (0, 0, 400, 150); //初始化窗口位置、大小

auxInitWindow ("Display Lists"); //初始化窗口,设置标题

myinit ();

auxMainLoop(display); //循环运行display过程,display由用户编写return(0);

}

1.3.2程序说明

每个函数的具体含义在程序注释中已作了叙述,不再多说。

相关文档
最新文档