QOpenGLShaderProgram* AbstractPainter::createBasicShaderProgram(const QString &vertexShaderFileName, const QString &fragmentShaderFileName) { QOpenGLShaderProgram * program = new QOpenGLShaderProgram(); program->create(); m_shaders << FileAssociatedShader::getOrCreate( QOpenGLShader::Vertex, vertexShaderFileName, *program); m_shaders << FileAssociatedShader::getOrCreate( QOpenGLShader::Fragment, fragmentShaderFileName, *program); program->link(); return program; }