《图形编程技术学习》(三十八)颜色缓冲

一、多种类型的帧缓冲区(Frame buffer)

二、颜色缓冲(Color buffer)

存储视口中每个像素的颜色

三、颜色缓冲所占的存储空间

1.Resolution(分辨率):1024 * 768

2.像素颜色:采用RGB三个分量来表示颜色,每个分量采用8bits来表示

问题:该颜色缓冲需要多大的存储空间?

1024 * 768 * 8 bit / 1024 = 6144Kb

四、清楚缓冲的操作

1.同时清除帧缓冲和深度缓冲

2.glClearColor(0.0,0.0,0.0,0.0);

glClear(GL_COLOR_BUFFER_BIT);

glClearDepth(1.0);

glClear(GL_DEPTH_BUFFER_BIT|GL_DEPTH_BUFFER);

扩展:按位或运算符(|)

参加运算的两个对象,按二进制进行“或”运算。

运算规则:0|0 = 0; 0|1 = 1;1|0 = 1; 1|1 = 1;

即:参加运算的两个对象只要有一个为1,其值为1.

eg:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。

关于这些宏定义有兴趣的可以翻一下源代码。

3.尽量同时清除多块缓冲,这样效率更高

关于glClear之前的文章中有介绍,有兴趣的可以翻阅一下。

五、单缓冲和双缓冲

双缓冲可以避免屏幕闪烁

单缓冲只在Front Buffer缓冲,边画边缓冲,可能会出现闪屏的现象。

双缓冲先在Back Buffer缓冲,然后一次性复制到Front Buffer。

拓展链接:https://wenku.baidu.com/view/81

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值