实验指导书

《计算机图形学》实验指导书

《计算机图形学》实验指导书

实验1:OpenGL入门

一:实验目的和要求

1. 掌握在利用OpenGL进行程序设计的基本方法。 2. 掌握windows环境下的消息处理方法。 3. 理解在三维图形加速下OpenGL运行机制。

二:内容和方法 内容:

1. 使用OpenGL画一个正方体。

提示:

? 可参考: OpenGL教程_NeHe01-11_基础.chm 。

例6-1 辅助库应用例程 testaux.c

#include #include #include #include #include

#pragma comment(lib, \ #pragma comment(lib, \ #pragma comment(lib, \

void myinit(void);

void CALLBACK myReshape(int w, int h); void CALLBACK display(void); void myinit(void) //初始化

{glClearColor(0.0,0.0,0.0,0.0); //将窗口清为黑色 }

void CALLBACK display(void) {

glClear(GL_COLOR_BUFFER_BIT); //将颜色缓存清为glClearColor命令所设置的颜色,即背景色

glColor4f(0.2,0.8,1.0,1.0); //选颜色(R,G,B) glRotatef(30,1.0,1.0,0.0); //做旋转变换 auxWireCube(1.0); //绘制六面体的虚线图 glFlush(); //强制绘图,不驻留缓存 }

void CALLBACK myReshape (int w, int h) //用于窗口大小改变时的处理,与绘图无关

第1页 http://www.cocoon.org.cn 黄可坤

《计算机图形学》实验指导书

{glViewport(0,0,w,h); }

void main(void) {

auxInitDisplayMode(AUX_SINGLE|AUX_RGBA); //窗口显示单缓存和RGB(彩色)模式 auxInitPosition(0,0,200,200); //大小 x=200 y=200 (0,0)是屏幕左上点 auxInitWindow(\ //初始化窗口,参数是标题 myinit();

auxReshapeFunc(myReshape); auxMainLoop(display); }

实验2:OpenGL变换

一:实验目的和要求

4. 掌握在利用OpenGL进行程序设计的基本方法。 5. 掌握OpenGL下进行图形变换的方法。

二:内容(二选一)

2. 使用OpenGL画一个正方体和一个球。球的直径等于正方体的边长,球放在正方

体的正上方。球不断转动,正方体也不断转动。

3. 做一个不断旋转和移动的正方体,并且只在一个大正方体范围内移动,碰到边

界后反弹。

提示:

? 可参考: OpenGL教程_NeHe01-11_基础.chm 及 如下程序。 /*

OpenGL下显示旋转的正方体,并带有鼠标键盘响应 Create: 2009.3 Author:

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4