GLSL(4)关于layout和uniform使用的个人小结

简而言之。

GLSL中,layout标签注明的变量是初始化一定要的,通常这个初始化过程放在initScene()函数(同等作用的函数)中,就是走:glGenBuffer()、glBindBuffer()、glBufferData()..这几个过程。

而GLSL中,uniform类型的bain两,是不走上面这几个流程的,也就是在opengl这边设置shader中的uniform类型变量的时候,不会用到刚才那几个函数。如果要给uniform类型的变量赋值,通常这步放render中,因为通常uniform修饰的变量要可能要不断的更新,比如角度之类的。在render()中,要先找到要修改的uniform变量的名字,然后进行参数更新。

但是注意当用layout来做为uniform block的前缀时,就不一样了,这其实仍然是uniform型数据。目前只是一个简单印象的小结,随着学习的深入,该文章会继续更新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值