no engine anymore
This commit is contained in:
25
public/materialsystem/icomputeshader.h
Normal file
25
public/materialsystem/icomputeshader.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef MATERIAL_COMPUTE_SHADER_H
|
||||
#define MATERIAL_COMPUTE_SHADER_H
|
||||
|
||||
#include "ishader.h"
|
||||
|
||||
enum EShaderOutput {
|
||||
SHADER_TEXTURE0,
|
||||
SHADER_TEXTURE1,
|
||||
SHADER_TEXTURE2,
|
||||
SHADER_TEXTURE3,
|
||||
SHADER_TEXTURE4,
|
||||
SHADER_TEXTURE5,
|
||||
SHADER_TEXTURE6,
|
||||
SHADER_TEXTURE7,
|
||||
|
||||
SHADER_DEPTH,
|
||||
};
|
||||
|
||||
abstract_class IComputeShader : public IShader
|
||||
{
|
||||
public:
|
||||
virtual void SetShaderSource( const char *szPath ) = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
0
public/materialsystem/imaterial.h
Normal file
0
public/materialsystem/imaterial.h
Normal file
85
public/materialsystem/imaterialsystem.h
Normal file
85
public/materialsystem/imaterialsystem.h
Normal file
@@ -0,0 +1,85 @@
|
||||
#ifndef MATERIAL_SYSTEM_H
|
||||
#define MATERIAL_SYSTEM_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:
|
||||
virtual void BlitTo( IImage *pImage );
|
||||
};
|
||||
abstract_class IRenderContext
|
||||
{
|
||||
public:
|
||||
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 );
|
||||
virtual IImage *CreateStorageImage( uint32_t x, uint32_t y, EImageFormat eFormat, EMultisampleType eMultisampleType );
|
||||
|
||||
virtual void DestroyBuffer( IBuffer *pBuffer );
|
||||
virtual void DestroyImage( IImage *pImage );
|
||||
};
|
||||
|
||||
abstract_class IMaterialSystem
|
||||
{
|
||||
public:
|
||||
IRenderContext *GetRenderContext();
|
||||
};
|
||||
|
||||
extern IMaterialSystem *materials;
|
||||
|
||||
#endif
|
||||
10
public/materialsystem/ipipeline.h
Normal file
10
public/materialsystem/ipipeline.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef MATERIAL_PIPELINE_H
|
||||
#define MATERIAL_PIPELINE_H
|
||||
|
||||
#include "tier0/platform.h"
|
||||
abstract_class IPipeline
|
||||
{
|
||||
public:
|
||||
};
|
||||
|
||||
#endif
|
||||
27
public/materialsystem/irastershader.h
Normal file
27
public/materialsystem/irastershader.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef MATERIAL_RASTER_SHADER_H
|
||||
#define MATERIAL_RASTER_SHADER_H
|
||||
|
||||
#include "ishader.h"
|
||||
|
||||
enum EShaderOutput {
|
||||
SHADER_TEXTURE0,
|
||||
SHADER_TEXTURE1,
|
||||
SHADER_TEXTURE2,
|
||||
SHADER_TEXTURE3,
|
||||
SHADER_TEXTURE4,
|
||||
SHADER_TEXTURE5,
|
||||
SHADER_TEXTURE6,
|
||||
SHADER_TEXTURE7,
|
||||
|
||||
SHADER_DEPTH,
|
||||
};
|
||||
|
||||
abstract_class IRasterShader : public IShader
|
||||
{
|
||||
public:
|
||||
virtual void SetVertexShader( const char *szPath ) = 0;
|
||||
virtual void SetPixelShader( const char *szPath ) = 0;
|
||||
virtual void EnableTexture( EShaderOutput eTextureID, bool bEnabled ) = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
0
public/materialsystem/iraytracingshader.h
Normal file
0
public/materialsystem/iraytracingshader.h
Normal file
36
public/materialsystem/ishader.h
Normal file
36
public/materialsystem/ishader.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef MATERIAL_SHADER_H
|
||||
#define MATERIAL_SHADER_H
|
||||
|
||||
#include "tier0/platform.h"
|
||||
|
||||
enum EShaderInputType
|
||||
{
|
||||
SHADER_INPUT_TYPE_POINTER,
|
||||
|
||||
SHADER_INPUT_TYPE_INT,
|
||||
|
||||
SHADER_INPUT_TYPE_FLOAT,
|
||||
SHADER_INPUT_TYPE_FLOAT2,
|
||||
SHADER_INPUT_TYPE_FLOAT3,
|
||||
SHADER_INPUT_TYPE_FLOAT4,
|
||||
|
||||
SHADER_INPUT_TYPE_MATRIX,
|
||||
|
||||
SHADER_INPUT_TYPE_IMAGE,
|
||||
SHADER_INPUT_TYPE_TEXTURE,
|
||||
|
||||
SHADER_INPUT_TYPE_MODEL,
|
||||
};
|
||||
|
||||
abstract_class IShader
|
||||
{
|
||||
public:
|
||||
virtual void CreateShaderParameter( const char *szName, uint32_t binding, EShaderInputType eType, bool bArray ) = 0;
|
||||
virtual void CreateMaterialParameter( const char *szName, uint32_t binding, EShaderInputType eType, bool bArray ) = 0;
|
||||
virtual void CreateConstants( uint32_t nSize ) = 0;
|
||||
|
||||
virtual void SetShaderParameter( const char *szName, void *pData ) = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user