【OpenGL编程】Uniform缓冲对象(Uniform Buffer Object)

作者:尹豆(憨豆酒),联系我yindou97@163.com,熟悉图形学,图像处理领域,本章代码: https://github.com/douysu/computer-graphics-notes

Uniform缓冲对象(Uniform Buffer Object)

写在前面:最近在使用GLSL编程,还未掌握Uniform缓冲对象的相关知识,感觉处处碰壁,在这里对Uniform缓冲对象相关知识进行总结,同时本节案例是基于OpenGL ES 3.0实现的,

本篇内容参考来自:

  • LearnOpenGL CN——高级GLSL一章
    https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/08%20Advanced%20GLSL/#_3
  • The fool的博客 http://blog.csdn.net/wangdingqiaoit/article/details/52717963
    感谢The fool的文章,他的文章中的部分内容非常有助于理解Uniform缓冲对象,我在此将两篇文章的重要内容进行了合并。

什么是Unform缓冲对象?

在没有掌握Uniform缓冲对象时,已经可以开发出很多高级特效了,但同时也遇到了一些繁琐的事情。比如说,当在一个项目(Project)中出现多个着色器,每一个着色器中大部分的Uniform变量都是相同的,例如:摄像机位置、光源位置此类所有物体都共同的属性等,每一次都需要我们重复的去设置它们,这便是一件繁琐的事情。在大型游戏中,多则上百个着色器,以前者的方式是很容易带来问题的。
OpenGL给我们提供了Uniform缓冲对象,该对象允许我们在多个着色器中定义全局的Uniform变量,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值