- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
opengl实现画矩形
实验二
实验目的和要求
了解使用OpenGL绘制图形的功能,原理。
使用OpenGL绘制一个简单的矩形框,并指定颜色。
实验内容
先实现窗口管理,再调用一些OpenGL函数来实现矩形的绘制。
实验步骤
程序设计
头文件包含
首先要引入OpenGL核心库以及其他需要使用的库的头文件。
其次,通过头文件引入窗口系统。
使用GLUT库实现窗口管理
首先,对GLUT库进行初始化,对命令行的参数进行处理。
其次,创建一个窗口。创建前要设定窗口的显示模式,包括缓存和颜色模型等。
利用OpenGL绘图
实现了窗口管理之后,要调用一些OpenGL函数来实现图形的绘制。
具体步骤如下:
调用glClearColor( )函数指定窗口的背景颜色。
调用glMatrixMode( )函数指定设置投影参数
调用gluOrtho2D( )函数设置投影参数
调用glClear y( )函数填充绘图颜色
调用glRectf( )函数绘制一个矩形
调用glFlush()函数清空缓冲区,执行OpenGL程序
调用glutInitDisplayMode( )函数初始化窗口的显示模式
调用glutInitWindowSize( )函数设置窗口的大小
调用glutInitWindowPosition( )函数设置窗口的位置
调用glutCreateWindow( )函数 创建窗口
调用glutDisplayFunc(Display)函数设置当前窗口回调函数
调用Initial()函数完成窗口初始化。
调用glutMainLoop()函数启动主GLUT事件循环。
程序调试、测试与运行结果分析
运行结果
运行分析及改进思想
该程序主要是通过调用绘制矩形函数实现,我们也可以调用其他几何图形的函数,绘制不同的几何图形,或者将几种几何图形组合,绘制成组合的图形。再或者,也可以为图形加上动画函数,让图形实现运动的效果。甚至,也可以让其实现三维立体结构。
实验总结:
第一次使用OpenGL绘图,通过查看资料以及老师的指导,绘制出了一个简单的矩形。主要是通过调用绘制矩形函数实现,我们也可以调用其他几何图形的函数,绘制不同的几何图形,或者将几种几何图形组合,绘制成组合的图形。再或者,也可以为图形加上动画函数,让图形实现运动的效果。但是,由于水平有限,很多函数不知道,也不明白其功能,所以只是实现了简单的绘图。
附录:
源代码
#include gl/glut.h
#include iostream
using namespace std;
void Initial(void)
{ glClearColor(0.5f,0.2f,1.0f,0.3f);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f,0.8f,1.0f);
glRectf(50.0f,100.0f,150.0f,50.0f);
glFlush();
}
int main(int argc,char*argv[])
{
glutInit(argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(300,300);
glutInitWindowPosition(200,200);
glutCreateWindow(矩形);
glutDisplayFunc(Display);
Initial();
glutMainLoop();
return 0;
}
1
文档评论(0)