五.创建shader

 

直接拷贝大神的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;

}

posted @ 2020-03-16 22:20  fkess  阅读(351)  评论(0)    收藏  举报