OpenGL--帧缓冲

帧缓冲:颜色缓冲 + 深度缓冲 + 模板缓冲

Renderbuffer objects

渲染缓冲对象:以OpenGL原生渲染格式存储数据。
渲染缓冲对象通常是只写的,不能修改。
glfwSwapBuffers使用渲染缓冲对象实现
由于渲染缓冲对象通常是只写的,它们经常作为深度和模板附件来使用,由于大多数时候,我们不需要从深度和模板缓冲中读取数据,但仍关心深度和模板测试。我们就需要有深度和模板值提供给测试,但不需要对这些值进行采样(sample),所以深度缓冲对象是完全符合的。
在帧缓冲项目中,渲染缓冲对象可以提供一些优化,但更重要的是知道何时使用渲染缓冲对象,何时使用纹理。通常的规则是,如果你永远都不需要从特定的缓冲中进行采样,渲染缓冲对象对特定缓冲是更明智的选择。如果哪天需要从比如颜色或深度值这样的特定缓冲采样数据的话,你最好还是使用纹理附件。

后处理

#####Inversion
反相

void main() 
{ 
     FragColor = vec4(vec3(1.0 - texture(screenTexture, TexCoords)), 1.0); 
} 
Grayscale

灰度

void main() 
{ 
    FragColor = texture(screenTexture, TexCoords); 
    float average = 0.2126 * FragColor.r + 0.7152 * FragColor.g + 0.0722 * FragColor.b; 
    FragColor = vec4(average, average, average, 1.0); 
} 
Kernel effects

在这里插入图片描述

Blur

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值