opengl教程之一:创建窗体

搭建opengl环境可以看我之前出过的教程 

在Visual C++下简易OpenGL环境搭建教程_星空_MAX的博客-CSDN博客_c++opengl

opengl有着其他语言的版本,创建图形的思想全都一致,都可以参考

使用opengl函数完成窗体的绘制 

#include<GL/glut.h>

void Display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glRectf(-0.5f,-0.5f,0.5f,0.5f);
	glFlush();
}

int main(int argc,char *argv[])
{
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(400, 400);
	glutCreateWindow("OpenGLTest");
	glutDisplayFunc(&Display);
	glutMainLoop();
	return 0;
}

执行后 

1.#include<GL/glut.h>

为Opengl的GLUT头文件

2.glutInit

完成初始化过程,在其余代码执行之前之前调用一次

如果没有调用用就会出现

 Function <glutCreateWindow> called without first calling 'glutInit'

3.glutInitDisplayMode

设置显示方式

其中表示用了RGB颜色模式和单缓冲模式

 这些就是其中的模式,运算符组合成不同的标志位,具体的含有我将在以后的函数中去讲

4.glutInitWindowPosition

设置窗体相对于屏幕的位置

5.glutWindowSize

设置窗体的大小

6.glutCreatWindowSize

创建好窗体,参数为窗体的标题,但是主义,窗口不会立即显示出来,需要调用后来的

glutmain才能看清窗口

像在UE引擎里面,CreatWidget以后需要AddToView,才将创建好的窗口渲染到屏幕上,但其实这个窗体在内存里面有一份

6.glutDisplayFunc

注册一个函数,当需要时候,这个函数就会完成绘制

7.glutMainLoop

将相关函数进行循环调用,然后就可以显示窗口了

8.glClear

表明需要清楚的缓存

其中GL_COLOR_BUFFER_BIT清除颜色

还有其他的缓存将在请问以后细讲

  • GL_COLOR_BUFFER_BIT: 当前可写的颜色缓冲

  • GL_DEPTH_BUFFER_BIT: 深度缓冲

  • GL_ACCUM_BUFFER_BIT: 累积缓冲

  • GL_STENCIL_BUFFER_BIT: 模板缓冲

9. glRectf

画一个矩形,前两个参数代表矩形左上角点的坐标,后两个参数代表矩形右下角点的坐标

10.glFlush

在有限时间内强制执行OpenGl函数,单缓冲模式下物体会一个一个胡子hi到屏幕上面

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值