General improvements
This commit is contained in:
@@ -72,13 +72,21 @@ abstract_class IShader
|
||||
public:
|
||||
};
|
||||
|
||||
|
||||
#define BEGIN_SHADER(name) \
|
||||
class CShader_##name \
|
||||
{
|
||||
|
||||
#define END_SHADER() \
|
||||
}
|
||||
|
||||
abstract_class IMaterial
|
||||
{
|
||||
public:
|
||||
virtual void SetConstants( void *pData ) = 0;
|
||||
|
||||
virtual void SetTexture( const char *szName, IImage *pImage ) = 0;
|
||||
virtual void SetBuffer( const char *szName, IImage *pImage ) = 0;
|
||||
virtual void SetBuffer( const char *szName, IBuffer *pImage ) = 0;
|
||||
};
|
||||
|
||||
abstract_class IRenderContext: public IAppSystem
|
||||
@@ -94,7 +102,7 @@ public:
|
||||
virtual void DestroyBuffer( IBuffer *pBuffer ) = 0;
|
||||
virtual void DestroyImage( IImage *pImage ) = 0;
|
||||
|
||||
virtual IShader *CreateShader( const char *szName );
|
||||
virtual IShader *CreateShader( const char *szName ) = 0;
|
||||
virtual void DestroyShader( IShader *pMaterial ) = 0;
|
||||
|
||||
virtual IMaterial *CreateMaterial( IShader *pShader ) = 0;
|
||||
@@ -103,8 +111,8 @@ public:
|
||||
virtual void SetMaterial( IMaterial *pMaterial ) = 0;
|
||||
virtual void SetVertexBuffer( IVertexBuffer *pBuffer ) = 0;
|
||||
virtual void SetIndexBuffer( IVertexBuffer *pBuffer ) = 0;
|
||||
virtual void DrawPrimitives( ) = 0;
|
||||
virtual void DrawPrimitivesIndexed( ) = 0;
|
||||
virtual void DrawPrimitives( uint32_t nVertexCount, uint32_t nFirstVertex, uint32_t nInstanceCount, uint32_t nFirstInstance ) = 0;
|
||||
virtual void DrawPrimitivesIndexed( uint32_t nIndexCount, uint32_t nFirstIndex, uint32_t nVertexOffset, uint32_t nInstanceCount, uint32_t nFirstInstance ) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ public:
|
||||
abstract_class IINIManager
|
||||
{
|
||||
public:
|
||||
virtual IINIFile *ReadFile( const char *psz ) = 0;
|
||||
virtual IINIFile *ReadString( const char *psz ) = 0;
|
||||
virtual void ReleaseFile( IINIFile *pFile ) = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user