SwapBuffers glutSwapBuffer glFlush glFinish

虽然一直用,不过发现理解不够,抽了个空,花费几个小时,整理了一下,若有错误,还望诸位多多指教奋斗

1.glFlush:从表面上看,就是刷新并清空缓存,只不过这里刷新的是opengl指令所在的缓存!也就是说opengl的指令会放在缓存中,最后一并执行(显然一条一条的执行会很慢)

,不过glFlush是异步的,并不会 等待所有指令都执行完毕才返回。


2.glFinish:作用跟glFlush一样,只不过是同步的,必须等到所有opengl指令及其指令所 影响到的地方全都执行完毕后,才会返回结果


3.双缓冲:frontBuffer(不管是不是双缓冲) 用于display,backBuffer用于draw。通过交换缓冲区,把backBuffer的内容放到front中,便显示到屏幕上了。但是换换缓冲区,有两种方向:

(1)交换两个缓冲区的指针,frontBuffer直接成为backBuffer,反之亦然

(2)内容拷贝,仅是把backBuffer的内容拷贝到frontBuffer


4.SwapBuffers:这是windows的方法,#inclucde<wingdi.h>,它采用了缓冲区交换的方法(2)内容拷贝


5.glutSwapBuffer:属于glut,它采用了缓冲区交换的方法(1)交换缓冲区指针。在该方法的最后调用glFlush来执行所有opengl指令把内容显示出来


6.如果不用双缓冲,那就是直接渲染到屏幕上,也就是直接draw到frontBuffer中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值