lots of updates
This commit is contained in:
40
game/client/worldrender.h
Normal file
40
game/client/worldrender.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef WORLD_RENDER_H
|
||||
#define WORLD_RENDER_H
|
||||
|
||||
#include "tier0/platform.h"
|
||||
#include "gamesystem.h"
|
||||
#include "trig.h"
|
||||
#include "materialsystem/imaterialsystem.h"
|
||||
|
||||
abstract_class IMesh
|
||||
{
|
||||
public:
|
||||
virtual void ConfigureShader( IShader *pShader ) = 0;
|
||||
|
||||
virtual void SetVertices( IVertexBuffer *pBuffer ) = 0;
|
||||
virtual void SetIndicies( IIndexBuffer *pBuffer, EIndexFormat eIndexFormat ) = 0;
|
||||
|
||||
virtual void SetMaterial( IMaterial *pMaterial ) = 0;
|
||||
};
|
||||
|
||||
abstract_class IMeshInstance
|
||||
{
|
||||
public:
|
||||
virtual void SetPosition( Vector vPosition ) = 0;
|
||||
virtual void SetRotation( Quat vRotation ) = 0;
|
||||
virtual void SetScale( Vector vScale ) = 0;
|
||||
};
|
||||
|
||||
abstract_class IWorldRenderer: public IGameSystem
|
||||
{
|
||||
public:
|
||||
virtual void SetCameraRotation( Quat vRotation ) = 0;
|
||||
virtual void SetCameraPosition( Vector vPosition ) = 0;
|
||||
|
||||
virtual IMesh *CreateMesh( const char *szName ) = 0;
|
||||
virtual IMeshInstance *CreateInstance( IMesh *pMesh ) = 0;
|
||||
};
|
||||
|
||||
extern IWorldRenderer *g_pWorldRenderer;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user