]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/tracktype.h
Use GL::Renderables and a Pipeline for rendering
[r2c2.git] / source / 3d / tracktype.h
index e0bd9388af3814d5c00da2f4ee62cfd9730f740f..ab85d49ce88f1ba30bfe02d2975c917de65ad37d 100644 (file)
@@ -10,6 +10,7 @@ Distributed under the GPL
 
 #include <msp/gl/mesh.h>
 #include <msp/gl/meshbuilder.h>
+#include <msp/gl/renderable.h>
 #include "libmarklin/profile.h"
 #include "libmarklin/tracktype.h"
 
@@ -17,9 +18,10 @@ namespace Marklin {
 
 class Catalogue3D;
 
-class TrackType3D
+class TrackType3D: public Msp::GL::Renderable
 {
 private:
+       const Catalogue3D &catalogue;
        Msp::GL::Mesh ballast_mesh;
        Msp::GL::Mesh rail_mesh;
        std::vector<Point> border;
@@ -31,7 +33,7 @@ public:
 
        void get_bounds(float, Point &, Point &) const;
 
-       void render() const;
+       virtual void render(const Msp::GL::Tag &) const;
 
 private:
        void build_part(const TrackPart &, const Profile &, const Point &, Msp::GL::MeshBuilder &, unsigned &);