46 { |
46 { |
47 Q_OBJECT |
47 Q_OBJECT |
48 public: |
48 public: |
49 Compiler(const ldraw::ColorTable& colorTable, QObject* parent); |
49 Compiler(const ldraw::ColorTable& colorTable, QObject* parent); |
50 ~Compiler(); |
50 ~Compiler(); |
51 void build(Model* model, DocumentManager* context); |
51 void build(Model* model, DocumentManager* context, const RenderPreferences& preferences); |
52 void buildPolygon(Polygon polygon, std::vector<Vertex>* vboData); |
52 void buildPolygon(Polygon polygon, std::vector<Vertex>* vboData, const gl::RenderPreferences& preferences); |
53 std::size_t vertexCount(gl::ArrayClass arrayClass) const; |
53 std::size_t vertexCount(gl::ArrayClass arrayClass) const; |
54 QColor getColorForPolygon(const gl::Polygon& polygon); |
54 QColor getColorForPolygon(const gl::Polygon& polygon, const RenderPreferences& preferences); |
55 glm::vec3 modelCenter() const; |
55 glm::vec3 modelCenter() const; |
56 double modelDistance() const; |
56 double modelDistance() const; |
57 void initialize(); |
57 void initialize(); |
58 void bindVertexArray(gl::ArrayClass arrayClass); |
58 void bindVertexArray(gl::ArrayClass arrayClass); |
59 void releaseVertexArray(gl::ArrayClass arrayClass); |
59 void releaseVertexArray(gl::ArrayClass arrayClass); |