带有GLSL的黑屏

时间:2013-11-26 05:43:29

标签: c++ opengl glsl

我遇到了使用GLSL获取黑屏的问题。我在CPU上计算自己的投影矩阵和模型视图矩阵,当我只使用普通的GLSL代码时

void main() {            
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
它似乎工作得很好。我将矩阵加载到openGL中,我的图像看起来很好。 但是,只要我在渲染部分尝试使用它:

glUseProgram(p);
//glUseProgram(0);
//These were calculated and loaded into openGL before and they work.
float mod[16];
glGetFloatv(GL_MODELVIEW_MATRIX, mod);
float proj[16];
glGetFloatv(GL_PROJECTION_MATRIX, proj);
glUniformMatrix4fv(projMatrixLoc, 1, false, proj);
glUniformMatrix4fv(viewMatrixLoc, 1, false, mod);

这在我的着色器中:

uniform mat4 modelview;
uniform mat4 projection;
void main() {            
mat4 mvp = projection * modelview;
gl_Position = mvp* gl_Vertex;
}

我得到一个黑屏。我只是不知道我做错了什么

0 个答案:

没有答案