Opengl_7_ *SwapBuffers

1,


glutSwapBuffers(); 是基于console的,应为我是win32程序所以应该用ms自带的SwapBuffers(hdc);


2,
glutSwapBuff*ers执行双缓冲交换的时候,就隐形的执行了一次刷新操作,就不用使用glFlush,如果两个都使用了,会降低渲染帧率。



3,
OpenGL在绘图上下文 Rendering Context (HGLRC)上绘图。
程序运行过程中,可以有多个 DC,但只能有一个
HGLRC。因此当一个 DC 画完图后,要立即释放 HGLRC,以便其它的 DC 也使用。
SwapBuffer:把
HGLRC 上的绘制结果刷给HDC;
glFlush:将GL命令队列中的命令发送给显卡并清空命令队列,发送完立即返回;
glFinish:将GL命令队列中的命令发送给显卡并清空命令队列,显卡完成这些命令(也就是画完了)后返回。

在绘图命令比较冗长的情况下,可以分段调用glFlush以清空命令队列并让显卡开始先执行这些命令,最后调用glFinish来同步。
然后调用wglSwapBuffer/
glutSwapBuffers调换前后缓存。


4,
*SwapBuffer命令只是把前台和后台的缓冲区指针交换一下而已也就是把前台的内容变成后台缓冲的内容,
把后台的缓冲内容换到了前台这个函数它本身并不对换过来的成为了后台的buffer做清理工作,所以每帧都glClear一次,然后再绘制,而后再SwapBuffers。

转载于:https://www.cnblogs.com/liuhan333/p/6344704.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值