| 69 void setFragmentStyle(gl::FragmentStyle fragStyle); |
69 void setFragmentStyle(gl::FragmentStyle fragStyle); |
| 70 void renderScene(); |
70 void renderScene(); |
| 71 void updateViewMatrix(); |
71 void updateViewMatrix(); |
| 72 void updateModelMatrix(); |
72 void updateModelMatrix(); |
| 73 Q_SLOT void build(); |
73 Q_SLOT void build(); |
| 74 void renderVao(const gl::ArrayClass arrayClass); |
74 void renderVao(const gl::ArrayClass arrayClass, const GLenum glType); |
| |
75 template<gl::ArrayClass arrayClass> |
| |
76 void renderVao(); |
| 75 void checkForGLErrors(); |
77 void checkForGLErrors(); |
| 76 }; |
78 }; |
| |
79 |
| |
80 inline constexpr opt<GLenum> getGlTypeForArrayClass(const gl::ArrayClass vboClass) |
| |
81 { |
| |
82 switch (vboClass) |
| |
83 { |
| |
84 case gl::ArrayClass::Lines: |
| |
85 case gl::ArrayClass::ConditionalLines: |
| |
86 return GL_LINES; |
| |
87 case gl::ArrayClass::Triangles: |
| |
88 return GL_TRIANGLES; |
| |
89 case gl::ArrayClass::Quads: |
| |
90 return GL_QUADS; |
| |
91 } |
| |
92 return {}; |
| |
93 } |
| |
94 |
| |
95 template<gl::ArrayClass arrayClass> |
| |
96 void PartRenderer::renderVao() |
| |
97 { |
| |
98 constexpr opt<GLenum> glType = getGlTypeForArrayClass(arrayClass); |
| |
99 static_assert(glType.has_value()); |
| |
100 this->renderVao(arrayClass, *glType); |
| |
101 } |
| 77 |
102 |
| 78 inline QVector<QPointF> convertWorldPointsToScreenPoints( |
103 inline QVector<QPointF> convertWorldPointsToScreenPoints( |
| 79 const std::vector<glm::vec3> &worldPoints, |
104 const std::vector<glm::vec3> &worldPoints, |
| 80 const PartRenderer* renderer) |
105 const PartRenderer* renderer) |
| 81 { |
106 { |