started working on ini parser
This commit is contained in:
90
public/materialsystem/materialsystem.h
Normal file
90
public/materialsystem/materialsystem.h
Normal file
@@ -0,0 +1,90 @@
|
||||
#ifndef MATERIAL_SYSTEM_H
|
||||
#define MATERIAL_SYSTEM_H
|
||||
|
||||
#include "iappsystem.h"
|
||||
#include "tier0/platform.h"
|
||||
|
||||
|
||||
abstract_class IRenderingObject
|
||||
{
|
||||
public:
|
||||
virtual void SetDebugName( const char *szName ) = 0;
|
||||
};
|
||||
|
||||
abstract_class IBuffer : public IRenderingObject
|
||||
{
|
||||
public:
|
||||
virtual void Lock() = 0;
|
||||
virtual void Unlock() = 0;
|
||||
virtual void *Map() = 0;
|
||||
virtual void Unmap() = 0;
|
||||
};
|
||||
|
||||
abstract_class IVertexBuffer : public IBuffer
|
||||
{
|
||||
public:
|
||||
};
|
||||
|
||||
abstract_class IIndexBuffer : public IBuffer
|
||||
{
|
||||
public:
|
||||
};
|
||||
|
||||
abstract_class IMesh
|
||||
{
|
||||
public:
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum EImageFormat
|
||||
{
|
||||
IMAGE_FORMAT_R8_UINT,
|
||||
IMAGE_FORMAT_RGBA8_UNORM,
|
||||
IMAGE_FORMAT_BGRA8_UNORM,
|
||||
IMAGE_FORMAT_RGBA8_UINT,
|
||||
IMAGE_FORMAT_RGBA8_SINT,
|
||||
IMAGE_FORMAT_RGBA16_SFLOAT,
|
||||
IMAGE_FORMAT_RGBA32_SFLOAT,
|
||||
|
||||
IMAGE_FORMAT_D32_SFLOAT,
|
||||
};
|
||||
|
||||
enum EMultisampleType
|
||||
{
|
||||
MULTISAMPLE_TYPE_NONE,
|
||||
MULTISAMPLE_TYPE_2_SAMPLES,
|
||||
MULTISAMPLE_TYPE_4_SAMPLES,
|
||||
MULTISAMPLE_TYPE_8_SAMPLES,
|
||||
};
|
||||
|
||||
abstract_class IImage : public IRenderingObject
|
||||
{
|
||||
public:
|
||||
|
||||
};
|
||||
abstract_class IRenderContext: public IAppSystem
|
||||
{
|
||||
public:
|
||||
virtual void Frame( float fTime ) = 0;
|
||||
|
||||
virtual IVertexBuffer *CreateVertexBuffer( uint32_t nSize ) = 0;
|
||||
virtual IIndexBuffer *CreateIndexBuffer( uint32_t nSize ) = 0;
|
||||
virtual IImage *CreateRenderTarget( uint32_t x, uint32_t y, EImageFormat eFormat, EMultisampleType eMultisampleType ) = 0;
|
||||
virtual IImage *CreateStorageImage( uint32_t x, uint32_t y, EImageFormat eFormat, EMultisampleType eMultisampleType ) = 0;
|
||||
|
||||
virtual void DestroyBuffer( IBuffer *pBuffer ) = 0;
|
||||
virtual void DestroyImage( IImage *pImage ) = 0;
|
||||
};
|
||||
|
||||
abstract_class IMaterialSystem: public IAppSystem
|
||||
{
|
||||
public:
|
||||
virtual void Frame( float fTime ) = 0;
|
||||
|
||||
virtual IRenderContext *GetRenderContext( void) = 0;
|
||||
};
|
||||
|
||||
IMaterialSystem *Materials( void );
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user