Opengl编程学习笔记(五)——从FRAGMENT到PIXEL(framebuffer 帧缓存)

本文详细介绍了OpenGL编程中帧缓存的工作原理,包括颜色、scissor、alpha、stencil、depth等缓存的组合,以及帧缓存如何决定fragment如何绘制在屏幕上。内容涵盖了颜色缓存的读写、缓存掩码的使用、fragment的测试,如scissor test、alpha test、stencil test和depth test,以及混合、抖动和逻辑操作等步骤。此外,还提及了Accumulation Buffer在反走样和模糊处理等应用中的作用。
摘要由CSDN通过智能技术生成

1.帧缓存包括颜色、scissoralphastencildepth这些缓存,所以帧缓存不是一片缓存,而是所有这些缓存的组合,帧缓存它对应了屏幕上的每一个pixel(不是真正的pixel,而是一个fragment所对应的位置)的各种这些信息(颜色、ZBUFFER、等等),几何体的fragment时没有帧缓存的,帧缓存时屏幕上的,一个缓存的一位就对应一个位片面。

Colorbuffer是最终表现在屏幕上的,但是其他缓存决定了最后这些color是否和怎样绘制在屏幕上.,其中除了colorbuffer的那些帧缓存也称作辅助缓存.

在光栅化得到fragment后,就要按照以下的顺序进行各种测试,那些通过测试了的像素才有资格最后放到屏幕上,在通过所有测试后,这些fragment将可能被写入原有的帧缓存(但是在最后混合出来的颜色值可能与屏幕原有的帧缓存中 的颜色缓存做各种运算,所以颜色缓存有时可能不会被简单覆盖,但其他缓存会。

2.颜色缓存的读写:glDrawBufferglReadBuffer(),然后调用GlwritePixelglreadpixel

3缓存掩码(MASK):

可以设置每种帧缓存的掩码,再写入相应缓存时就会被掩码作用,具体表现为

GlIndexmaskGlint  mask):如果在索引模式下,当mask的第i位为

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值