计算机图形学实验报告
计算机图形学实验 (一) – OpenGL 基础用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
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 (\初始化窗口,设置标题 myinit ();
auxMainLoop(display); //循环运行display 程,display 由用户编写 return(0); }
1.4 实验结果 ?画一条直线:
?画一个三角形
过