38 QOpenGLBuffer::UsagePattern usagePattern, |
38 QOpenGLBuffer::UsagePattern usagePattern, |
39 const std::vector<GLAttributeSpec>& attributeSpecs) |
39 const std::vector<GLAttributeSpec>& attributeSpecs) |
40 { |
40 { |
41 if (not this->isInitialized) |
41 if (not this->isInitialized) |
42 { |
42 { |
43 this->initializeOpenGLFunctions(); |
|
44 this->isInitialized = true; |
43 this->isInitialized = true; |
45 this->program = std::make_unique<gl::ShaderProgram>(); |
44 this->program = std::make_unique<gl::ShaderProgram>(); |
46 gl::buildShaders(this->program.get(), vertexShaderSource, fragmentShaderSource); |
45 gl::buildShaders(this->program.get(), vertexShaderSource, fragmentShaderSource); |
47 this->program->bind(); |
46 this->program->bind(); |
48 this->buffer.create(); |
47 this->buffer.create(); |