#include "rendering.h" //---------------------------------------------------------------------------- // Mesh handler for the rendering //---------------------------------------------------------------------------- abstract_class IMesh { public: virtual void SetVertexBuffer( IVertexBuffer *pBuffer ) = 0; virtual void SetIndexBuffer( IIndexBuffer *pBuffer ) = 0; virtual void SetPosition( vec3 position ) = 0; virtual void SetRotationEuler( vec3 angle ) = 0; virtual void SetRotationQuat( vec4 quaternion) = 0; virtual void SetMatrix( mat4 matrix ) = 0; virtual void SetScale( vec3 scale ) = 0; virtual void Draw() = 0; }; interface IMeshRendering: public IRenderingPipelineStep { public: virtual IMesh *CreateMesh(); }; interface IModelManager { public: virtual void LoadModel( const char *szPath ); };