#define R2C2_3D_TRACK_H_
#include <list>
-#include <msp/gl/renderable.h>
-#include <msp/gl/vertexarray.h>
-#include <msp/gl/vertexarraybuilder.h>
+#include <msp/gl/matrix.h>
+#include <msp/gl/objectinstance.h>
#include "libr2c2/track.h"
#include "libr2c2/trackpart.h"
#include "object.h"
class Path3D;
class TrackType3D;
-class Track3D: public Object3D, public Msp::GL::Renderable
+class Track3D: public Object3D, public Msp::GL::ObjectInstance
{
private:
Layout3D &layout;
virtual Point get_node() const;
virtual bool is_visible() const { return true; }
- void apply_matrix() const;
- virtual void render(const Msp::GL::Tag &) const;
+ Msp::GL::Matrix get_matrix() const;
+ virtual void setup_render(const Msp::GL::Tag &) const;
+ virtual void finish_render(const Msp::GL::Tag &) const;
};
} // namespace R2C2