started working on ini parser

This commit is contained in:
2025-08-20 01:27:25 +03:00
parent 5635cd1d69
commit eff681ca33
47 changed files with 1465 additions and 112 deletions

View 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