图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
五、函数参考
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
相关推荐: