78 DocumentManager* context, |
78 DocumentManager* context, |
79 const RenderPreferences& preferences); |
79 const RenderPreferences& preferences); |
80 void initializeModelShaders(ModelShaders* modelShaders); |
80 void initializeModelShaders(ModelShaders* modelShaders); |
81 void bindModelShaderVertexArray(gl::ModelShaders* shaders, gl::ArrayClass arrayClass); |
81 void bindModelShaderVertexArray(gl::ModelShaders* shaders, gl::ArrayClass arrayClass); |
82 void releaseModelShaderVertexArray(gl::ModelShaders* shaders, gl::ArrayClass arrayClass); |
82 void releaseModelShaderVertexArray(gl::ModelShaders* shaders, gl::ArrayClass arrayClass); |
83 void setModelShaderSelectedObjects(gl::ModelShaders* shaders, const QSet<ModelId>& ids); |
83 void setModelShaderSelectedObjects(gl::ModelShaders* shaders, const QSet<ElementId>& ids); |
84 std::size_t vertexCount(const ModelShaders *shaders, gl::ArrayClass arrayClass); |
84 std::size_t vertexCount(const ModelShaders *shaders, gl::ArrayClass arrayClass); |
85 ModelId idFromUcharColor(const std::array<GLubyte, 3>& data); |
85 ElementId idFromUcharColor(const std::array<GLubyte, 3>& data); |
86 |
86 |
87 template<typename... Ts> |
87 template<typename... Ts> |
88 void setShaderUniform(gl::ModelShaders* shaders, const char* uniformName, Ts&&... args) |
88 void setShaderUniform(gl::ModelShaders* shaders, const char* uniformName, Ts&&... args) |
89 { |
89 { |
90 for (gl::ModelShaders::ShaderObject& shader : shaders->shaderObjects) |
90 for (gl::ModelShaders::ShaderObject& shader : shaders->shaderObjects) |