实验1 OpenGL图形编程入门

发布时间 : 星期六 文章实验1 OpenGL图形编程入门更新完毕开始阅读

图1-6 白背景 图1-7 红背景

5、基本图形绘制。

绘制函数一般放置在清屏语句

glClear(GL_COLOR_BUFFER_BIT); //刷新颜色缓冲区; 和刷新语句之间

glFlush(); //用于刷新命令队列和缓冲区,使所有尚未被执行的OpenGL命令得到执行;

例如矩形绘制

(1) 在display绘图函数的glClear(GL_COLOR_BUFFER_BIT);语句后面增加

glRectf(0,0,1,1);运行程序查看效果,如图1-8所示。

图1-8 矩形绘制 图1-9 矩形坐标改变

(2)修改矩形的对角坐标,看看什么变化和问题。如图1-9所示。 (3)根据给出的函数,试画出直线和三角形等基本图形。

例如,绘制直线

glBegin(GL_LINES); glVertex2f(0,0); glVertex2f(0.8,0.8); glEnd();

//画三角,x1,y1,x2,y2和x3,y3为三角形顶点坐标 glBegin(GL_TRIANGLES); glVertex2f(0,0); glVertex2f(0.5,0.5); glVertex2f(0.0,0.8); glEnd();

图形分别如图1-10和图1-11所示。

图1-10 直线绘制 图1-11 三角形绘制

6、绘图色的设置。

(1)将绘制的图形修改成红色。如图1-12所示。

(2)将绘制的不同基本图元设为不同的颜色。如图1-13所示。 参考函数:

glColor3f(r,g,b); //设置绘图色r,g,b,取值范围:[0,1],可以为浮点数。 例如

glColor3f(1,0,0);//为绘图红色 glColor3f(0,1,0);//为绘图绿色 glColor3f(0,0,1);//为绘图蓝色 其它绘图颜色应如何设置?

图1-12 红色矩形 图1-13 三角形绘制

7、绘制几何图形

1)更改标题栏,加上学号姓名

2)绘制基本2个以上几何形状:矩形、三角形。。。 3)要求三种颜色 四、问答与思考题

1、默认的窗口位置在屏幕的什么位置?如果要改变窗口在屏幕的位置应该如何处理?如何改变窗口的大小?

2. 在本次实验中默认的绘图坐标原点在窗口中的什么位置?

3. 如何修改背景颜色和绘图颜色?绘制颜色的顺序与位置有什么要求? 4、#include 在此句中,头文件glut.h放在哪个文件夹下了? 5、图形函数的顺序与位置有什么要求?试改变程序中一些图形函数的顺序看运行结果是否有变化。

五、函数参考

1。 glutInitWindowPosition(int x, int y); //为即将创建的窗口指定初始位置,窗口左上角在屏幕上的位置为(x,y)

2. glutInitWindowSize(int width, int height); //设置窗口大小 3。 glClearColor(r,g,b,alpha); //设置清屏颜色 4。. glColor3f(r,g,b); //设置绘图色 r,g,b,alpha取值范围:0~1之间,可以为浮点数 基本图元绘制函数参考

5。 glRectf(x1,y1,x2,y2), 画矩形,x1,y1和x2,y2分别为矩形对角线顶点坐标 6。glBegin(GL_LINES); //画线命令,x1,y1和x2,y2分别为直线段端点坐标 glVertex2f(x1,y1); glVertex2f(x2,y2); glEnd();

7。glBegin(GL_TRIANGLES); //画三角形命令,x1,y1,x2,y2和x3,y3分别为三角形顶点坐标

glVertex2f(x1,y1); glVertex2f(x2,y2); glVertex2f(x3,y3); glEnd();

六、实验演示录像

1)win32程序演示 :lab1-win32 project.exe

联系合同范文客服:xxxxx#qq.com(#替换为@)