ubuntu+opengl程序设计(2)第一个程序

ubuntu+opengl程序设计(2)第一个程序
--lihn1987(转载请注明出处,谢谢)

#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
///
// Called to draw scene

void RenderScene(void)
{
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
// Flush drawing commands
glFlush();
}
///
// Set up the rendering state

void SetupRC(void)
{
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}
///
// Main program entry poin
t
int main(int argc, char* argv[])
{
//初始化glut
glutInit(&argc, argv);
//告诉我们要创建的是一个什么窗口(单缓存,RGBA格式)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
//创建opengl窗口,明成为Simple
glutCreateWindow("Simple");
//设置显示的回调函数,即调用什么函数显示
glutDisplayFunc(RenderScene);
//初始化我们的窗口
SetupRC();
//用于保证opengl的消息循环
glutMainLoop();
return 0;
}



下面详细说明几个函数
void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
用于设置清空窗口时使用的颜色,分别为R,G,B各各颜色分量的值
另外alpha其实可以理解为透明度的意思

glClear(GL_COLOR_BUFFER_BIT);
将会把窗口清空为glClearColor所设置的颜色

最后调用glFlush();
将命令队列发送至硬件显示
这是什么意思呢?其实就是opengl为了更好的提高效率,会将多个命令以队列的形式一次性发到显示设备上,因为于显示设备通讯是一件比较费时的事情,假如一次性搞定,将会大大提高效率。因此,当我们调用glFlush的时候,其实前面进行的glClear命令才会才会被发送到显示设备


今天就学了这么一点,本人英文有点烂,读E文大牛的书有点恼火啊~~~~
好了,就这样了,有什么问题的话可以留言或邮件哈lihn1987@gmail.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值