这是我的C ++代码:
glm::mat4 trans;
GLuint transformLoc = glGetUniformLocation(program, "transform");
glUniformMatrix4fv(transformLoc, 1, GL_FALSE, glm::value_ptr(trans));
我在glUseProgram()
之后执行此操作。这是我的顶点着色器代码:
#version 330 core layout (location = 0) in vec3 position; layout (location = 1) in vec3 inColor; layout (location = 2) in vec2 texCoord; out vec3 ourColor; out vec2 ourTextCoord; uniform mat4 transform; void main() { gl_Position = transform * vec4(position, 1.0f); ourTextCoord = texCoord; ourColor = inColor; };
[gl_Position = vec4(position, 1.0f)
可以正常工作,但是将它与标识矩阵相乘是不起作用的...编辑:我所看到的只是一个黑屏。
您可以在#define GLM_FORCE_CTOR_INIT
进行GLM恢复之前恢复#include
。>