Shader linking i guess
This commit is contained in:
@@ -40,6 +40,8 @@ struct CastResult_t
|
||||
float m_fTime;
|
||||
// 0 to lenght
|
||||
float m_fDistance;
|
||||
|
||||
Vector m_vNormal;
|
||||
};
|
||||
|
||||
enum EPhysicsBodyType
|
||||
@@ -65,6 +67,8 @@ public:
|
||||
virtual void SetGravityScale( float fScale ) = 0;
|
||||
};
|
||||
|
||||
typedef bool (*fnCheckCast)( HCollider hCollider );
|
||||
|
||||
abstract_class IPhysicsWorld
|
||||
{
|
||||
public:
|
||||
@@ -75,8 +79,8 @@ public:
|
||||
|
||||
virtual void SetGravity( float fGravity ) = 0;
|
||||
|
||||
virtual CastResult_t RayCast( Vector vBegin, Vector vEnd ) = 0;
|
||||
virtual CastResult_t ShapeCast( HShape hShape, Quat vOrientation, Vector vBegin, Vector vEnd ) = 0;
|
||||
virtual CastResult_t RayCast( Vector vBegin, Vector vEnd, fnCheckCast check ) = 0;
|
||||
virtual CastResult_t ShapeCast( HShape hShape, Quat vOrientation, Vector vBegin, Vector vEnd, fnCheckCast check ) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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