Shader linking i guess
This commit is contained in:
@@ -200,6 +200,7 @@ public:
|
||||
abstract_class IBaseShader
|
||||
{
|
||||
public:
|
||||
virtual ~IBaseShader() = default;
|
||||
virtual void Build() = 0;
|
||||
};
|
||||
|
||||
@@ -219,17 +220,19 @@ public:
|
||||
virtual void DisablePixelShader( bool bDisable) = 0;
|
||||
};
|
||||
|
||||
abstract_class IComputeShader
|
||||
abstract_class IComputeShader: public IBaseShader
|
||||
{
|
||||
public:
|
||||
};
|
||||
|
||||
abstract_class IRayTracingShader
|
||||
abstract_class IRayTracingShader: public IBaseShader
|
||||
{
|
||||
public:
|
||||
virtual uint32_t GetMissShaderBinding( const char *szName );
|
||||
virtual uint32_t GetClosestHitShaderBinding( const char *szName );
|
||||
virtual uint32_t GetCallableShaderBinding( const char *szName );
|
||||
virtual uint32_t GetMissShaderBinding( const char *szName ) = 0;
|
||||
virtual uint32_t GetClosestHitShaderBinding( const char *szName ) = 0;
|
||||
virtual uint32_t GetCallableShaderBinding( const char *szName ) = 0;
|
||||
virtual void AddShader( const char *szName, const char *szPath ) = 0;
|
||||
virtual void RemoveShader( const char *szName ) = 0;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -299,7 +302,9 @@ public:
|
||||
virtual void DestroyImage( IImage *pImage ) = 0;
|
||||
|
||||
virtual IShader *CreateShader( const char *szName ) = 0;
|
||||
virtual void DestroyShader( IShader *pMaterial ) = 0;
|
||||
virtual IRayTracingShader *CreateRayShader( const char *szName ) = 0;
|
||||
virtual IComputeShader *CreateComputeShader( const char *szName ) = 0;
|
||||
virtual void DestroyShader( IBaseShader *pMaterial ) = 0;
|
||||
|
||||
virtual IMaterial *CreateMaterial( IShader *pShader ) = 0;
|
||||
virtual void DestroyMaterial( IMaterial *pMaterial ) = 0;
|
||||
|
||||
Reference in New Issue
Block a user