获取shader中的uniform变量并赋值
- 如何将数据设置到shader中去?比如mvp三大矩阵,比如顶点数据
- 在shader中有一个槽的概念。槽的编号是从0开始的。
- OpenGL会把槽和attribute、uniform等类型的变量对应上,就像下面这样:
attribute的变量对应到attribute的插槽上
uniform的变量对应到uniform的插槽上
- 我们给shader中变量设置值,就是告诉gpu哪个插槽上设置什么值就可以了
- 所以,我们只要知道shader中的变量对应的插槽,然后给那些插槽设置值,就是给shader中的变量设置值
- 获取shader中的变量
GLint positionLocation, modelMatrixLocation, viewMatrixLocation, projectionMatrixLocation;
positionLocation = glGetAttribLocation(program, "position");
modelMatrixLocation = glGetUniformLocation(program, "modelMatrix");
viewMatrixLocation = glGe