32 lines
821 B
C++
32 lines
821 B
C++
#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 );
|
|
};
|