glUniformLocation 返回 -1 [关闭]

Posted

技术标签:

【中文标题】glUniformLocation 返回 -1 [关闭]【英文标题】:glUniformLocation returns -1 [closed] 【发布时间】:2017-07-01 15:31:29 【问题描述】:

我正在尝试使用

将模型矩阵统一为顶点着色器
glUniformMatrix4fv(glGetAttribLocation(shaderProgram, "modelMatrix"),
    1, GL_FALSE, glm::value_ptr(objmesh[0]->modelMatrix));

但是当我使用它时,模型不显示。我用过

int location = glGetAttribLocation(shaderProgram, "modelMatrix");

找到位置,但它只返回-1。我还尝试在顶点着色器中使用手动制作的矩阵(作为单位矩阵),当我这样做时它会起作用。我已经对另一个着色器做了同样的事情,只是一个不同的程序。

objmesh 只是一个 std::vector ,它包含一个带有网格顶点的结构,uvs 等等。到目前为止,modelMatrix 只是一个单位矩阵。

我像这样在顶点着色器中统一矩阵:uniform mat4 modelMatrix;

【问题讨论】:

贴出完整的顶点着色器源代码。 我发现了问题。将其发布在答案部分:) 【参考方案1】:

已解决:我不小心使用了 glGetAttribLocation 而不是 glGetUniformLocation

【讨论】:

以上是关于glUniformLocation 返回 -1 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android开发如何点击物理返回键返回上个界面

JAVA里的函数返回值,可以返回几个?

方法的返回值可以有多个吗?(java)

WebView在Fragment中点击返回键返回上一页

返回对象和返回引用

RDBMS:计算并打印返回日期、返回月份和返回年份 [关闭]