This can be used for various position-dependent rendering techniques, such
as certain effects and frustum culling.
void set_matrix(const Matrix &);
void set_pose_matrix(unsigned, const Matrix &);
+ virtual const Matrix *get_matrix() const { return &matrix; }
+
virtual void setup_render(Renderer &, const Tag &) const;
};
void enable_for_pass(const Tag &);
void disable_for_pass(const Tag &);
+
+ virtual const Matrix *get_matrix() const { return renderable.get_matrix(); }
};
} // namespace GL
namespace Msp {
namespace GL {
+class Matrix;
class Renderer;
/**
returned value is treated as opaque. */
virtual long get_instance_key() const { return 0; }
+ /** Returns the model matrix of the Renderable. Null is returned if no such
+ matrix exists. */
+ virtual const Matrix *get_matrix() const { return 0; }
+
/** Renders the renderable without a renderer. This can be convenient in
some simple cases, but most renderables don't need to implement this
method. */