直接拷贝大神的shader了,然后link
bool AkGisWidget::createShader()
{
pointShader.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/res/shaders/point_vert.glsl");
pointShader.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/res/shaders/point_frag.glsl");
lineShader.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/res/shaders/line_vert.glsl");
lineShader.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/res/shaders/line_frag.glsl");
polygonShader.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/res/shaders/polygon_vert.glsl");
polygonShader.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/res/shaders/polygon_frag.glsl");
borderShader.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/res/shaders/border_vert.glsl");
borderShader.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/res/shaders/border_frag.glsl");
highlightShader.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/res/shaders/highlight_vert.glsl");
highlightShader.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/res/shaders/highlight_frag.glsl");
textureShader.addShaderFromSourceFile(QOpenGLShader::Vertex, ":/res/shaders/texture_vert.glsl");
textureShader.addShaderFromSourceFile(QOpenGLShader::Fragment, ":/res/shaders/texture_frag.glsl");
pointShader.link();
lineShader.link();
bool s= polygonShader.link();
qDebug()<<"link s"<<s;
borderShader.link();
highlightShader.link();
textureShader.link();
return true;
}
原文:https://www.cnblogs.com/fkess/p/12507366.html