ezEngine  Release 25.03
ezShaderCompilerDXC Class Reference
Inheritance diagram for ezShaderCompilerDXC:

Public Member Functions

virtual ezResult ModifyShaderSource (ezShaderProgramData &inout_data, ezLogInterface *pLog) override
 
virtual ezResult Compile (ezShaderProgramData &inout_Data, ezLogInterface *pLog) override
 
- Public Member Functions inherited from ezShaderProgramCompiler
virtual void GetSupportedPlatforms (ezHybridArray< ezString, 4 > &out_platforms)=0
 Returns the platforms that this shader compiler supports. More...
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Protected Member Functions

virtual void ConfigureDxcArgs (ezDynamicArray< ezStringWChar > &inout_Args)
 
virtual bool AllowCombinedImageSamplers () const
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ Compile()

ezResult ezShaderCompilerDXC::Compile ( ezShaderProgramData inout_data,
ezLogInterface pLog 
)
overridevirtual

Compiles the shader comprised of multiple stages defined in inout_data.

Parameters
inout_dataThe state of the shader compiler. m_Resources and m_ByteCode should be written to on successful return code.
pLogLogging interface to be used when outputting any errors.
Returns
Returns whether the shader was compiled successfully. On failure, errors should be written to pLog.

Implements ezShaderProgramCompiler.

◆ ModifyShaderSource()

ezResult ezShaderCompilerDXC::ModifyShaderSource ( ezShaderProgramData inout_data,
ezLogInterface pLog 
)
overridevirtual

Allows the shader compiler to modify the shader source before hashing and compiling. This allows it to implement custom features by injecting code before the compile process. Mostly used to define resource bindings that do not cause conflicts across shader stages.

Parameters
inout_dataThe state of the shader compiler. Only m_sShaderSource should be modified by the implementation.
pLogLogging interface to be used when outputting any errors.
Returns
Returns whether the shader could be modified. On failure, the shader won't be compiled.

Implements ezShaderProgramCompiler.


The documentation for this class was generated from the following files: