我在Windows的Qt Creator的Qt5应用程序中使用以下顶点着色器:
attribute highp vec3 rv_Position;
uniform highp mat4 u_ModelViewProjectionMatrix;
uniform highp float u_Opacity;
uniform highp vec3 u_color;
varying highp vec4 outColor;
void main(void)
{
gl_Position = u_ModelViewProjectionMatrix * vec4(rv_Position,1);
outColor = vec4(u_color, u_Opacity);
}
由以下draw
函数调用:
void Plane::draw()
{
glCullFace(GL_BACK);
glFrontFace(GL_CCW);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
m_program.bind();
m_vao.bind();
QMatrix4x4 matrix;
matrix = m_camera->projectionMatrix() * m_camera->viewMatrix() * this->modelMatrix();
m_program.setUniformValue("u_ModelViewProjectionMatrix", matrix);
m_program.setUniformValue("u_Opacity", m_opacity);
m_program.setUniformValue("u_color", m_globalColor);
glDrawElements(GL_TRIANGLES, 4, GL_UNSIGNED_INT, nullptr);
m_vao.release();
m_program.release();
}
所有成员m_something
均已初始化好。
运行程序时,出现此错误消息:
这不提供信息。可能是什么原因?
我忘记将顶点着色器文件添加到Qt Creator项目的资源文件(.qrc
)中。添加它可以修复错误。