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

来源:互联网 发布:模拟视频信号传输网络 编辑:程序博客网 时间:2024/06/01 20:26

简而言之。

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

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

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

原创粉丝点击