Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IRenderStateNotationParser Struct Referenceabstract

Render state notation parser interface. More...

#include <RenderStateNotationParser.h>

Inheritance diagram for Diligent::IRenderStateNotationParser:
Diligent.IObject

Public Member Functions

virtual Bool DILIGENT_CALL_TYPE ParseFile (const Char *FilePath, IShaderSourceInputStreamFactory *pStreamFactory, IShaderSourceInputStreamFactory *pReloadFactory=nullptr)=0
 Parses a render state notation file.
 
virtual Bool DILIGENT_CALL_TYPE ParseString (const Char *Source, Uint32 Length, IShaderSourceInputStreamFactory *pStreamFactory, IShaderSourceInputStreamFactory *pReloadFactory=nullptr)=0
 Parses a render state notation string.
 
virtual const PipelineStateNotation *DILIGENT_CALL_TYPE GetPipelineStateByName (const Char *Name, PIPELINE_TYPE PipelineType=PIPELINE_TYPE_INVALID) const =0
 Returns the pipeline state notation by its name. If the resource is not found, returns nullptr.
 
virtual const PipelineResourceSignatureDesc *DILIGENT_CALL_TYPE GetResourceSignatureByName (const Char *Name) const =0
 Returns the resource signature notation by its name. If the resource is not found, returns nullptr.
 
virtual const ShaderCreateInfo *DILIGENT_CALL_TYPE GetShaderByName (const Char *Name) const =0
 Returns the shader create info by its name. If the resource is not found, returns nullptr.
 
virtual const RenderPassDesc *DILIGENT_CALL_TYPE GetRenderPassByName (const Char *Name) const =0
 Returns the render pass description by its name. If the resource is not found, returns nullptr.
 
virtual const PipelineStateNotation *DILIGENT_CALL_TYPE GetPipelineStateByIndex (Uint32 Index) const =0
 Returns the pipeline state notation by its index.
 
virtual const PipelineResourceSignatureDesc *DILIGENT_CALL_TYPE GetResourceSignatureByIndex (Uint32 Index) const =0
 Returns the pipeline resource signature description by its index.
 
virtual const ShaderCreateInfo *DILIGENT_CALL_TYPE GetShaderByIndex (Uint32 Index) const =0
 Returns the shader create info by its index.
 
virtual const RenderPassDesc *DILIGENT_CALL_TYPE GetRenderPassByIndex (Uint32 Index) const =0
 Returns the render pass description by its index.
 
virtual Bool DILIGENT_CALL_TYPE IsSignatureIgnored (const Char *Name) const =0
 
virtual const RenderStateNotationParserInfo &DILIGENT_CALL_TYPE GetInfo () const =0
 Returns the render state notation parser info.
 
virtual void DILIGENT_CALL_TYPE Reset ()=0
 Resets the parser to default state.
 
virtual bool DILIGENT_CALL_TYPE Reload ()=0
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Render state notation parser interface.

Member Function Documentation

◆ GetInfo()

virtual const RenderStateNotationParserInfo &DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetInfo ( ) const
pure virtual

Returns the render state notation parser info.

Returns
Const reference to the RenderStateNotationParserInfo structure.
Remarks
This method must be externally synchronized.

◆ GetPipelineStateByIndex()

virtual const PipelineStateNotation *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetPipelineStateByIndex ( Uint32 Index) const
pure virtual

Returns the pipeline state notation by its index.

Parameters
[in]Index- Pipeline state notation index. The index must be between 0 and the total number of pipeline state notations stored in this parser as returned by IRenderStateNotationParser::GetInfo().PipelineStateCount.
Returns
Const pointer to the PipelineStateNotation structure.
Remarks
This method must be externally synchronized.

◆ GetPipelineStateByName()

virtual const PipelineStateNotation *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetPipelineStateByName ( const Char * Name,
PIPELINE_TYPE PipelineType = PIPELINE_TYPE_INVALID ) const
pure virtual

Returns the pipeline state notation by its name. If the resource is not found, returns nullptr.

Parameters
[in]Name- Name of the PSO.
[in]PipelineType- Pipeline state type.
Returns
Const pointer to the PipelineStateNotation structure, see Diligent::PipelineStateNotation.
Remarks
This method must be externally synchronized.

◆ GetRenderPassByIndex()

virtual const RenderPassDesc *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetRenderPassByIndex ( Uint32 Index) const
pure virtual

Returns the render pass description by its index.

Parameters
[in]Index- Render pass index. The index must be between 0 and the total number of render pass descriptors stored in this parser as returned by IRenderStateNotationParser::GetInfo().RenderPassCount.
Returns
Const pointer to the RenderPassDesc structure.
Remarks
This method must be externally synchronized.

◆ GetRenderPassByName()

virtual const RenderPassDesc *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetRenderPassByName ( const Char * Name) const
pure virtual

Returns the render pass description by its name. If the resource is not found, returns nullptr.

Parameters
[in]Name- Name of the render pass.
Returns
Const pointer to the RenderPassDesc structure, see Diligent::RenderPassDesc.
Remarks
This method must be externally synchronized.

◆ GetResourceSignatureByIndex()

virtual const PipelineResourceSignatureDesc *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetResourceSignatureByIndex ( Uint32 Index) const
pure virtual

Returns the pipeline resource signature description by its index.

Parameters
[in]Index- Pipeline resource signature descriptor index. The index must be between 0 and the total number of pipeline resource signature descriptors stored in this parser as returned by IRenderStateNotationParser::GetInfo().ResourceSignatureCount.
Returns
Const pointer to the PipelineResourceSignatureDesc structure.
Remarks
This method must be externally synchronized.

◆ GetResourceSignatureByName()

virtual const PipelineResourceSignatureDesc *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetResourceSignatureByName ( const Char * Name) const
pure virtual

Returns the resource signature notation by its name. If the resource is not found, returns nullptr.

Parameters
[in]Name- Name of the resource signature.
Returns
Const pointer to the PipelineResourceSignatureDesc structure, see Diligent::PipelineResourceSignatureDesc.
Remarks
This method must be externally synchronized.

◆ GetShaderByIndex()

virtual const ShaderCreateInfo *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetShaderByIndex ( Uint32 Index) const
pure virtual

Returns the shader create info by its index.

Parameters
[in]Index- Shader create info index. The index must be between 0 and the total number of shader create infos in this parser as returned by IRenderStateNotationParser::GetInfo().ShaderCount.
Returns
Const pointer to the ShaderCreateInfo structure.
Remarks
This method must be externally synchronized.

◆ GetShaderByName()

virtual const ShaderCreateInfo *DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::GetShaderByName ( const Char * Name) const
pure virtual

Returns the shader create info by its name. If the resource is not found, returns nullptr.

Parameters
[in]Name- Name of the shader.
Returns
Const pointer to the ShaderCreateInfo structure, see Diligent::ShaderCreateInfo.
Remarks
This method must be externally synchronized.

◆ IsSignatureIgnored()

virtual Bool DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::IsSignatureIgnored ( const Char * Name) const
pure virtual

Checks if the given signature is in the ignored list.

Parameters
[in]Name- Name of the signature.
Returns
true if the given signature is ignored, and false otherwise.
Remarks
This method must be externally synchronized.

◆ ParseFile()

virtual Bool DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::ParseFile ( const Char * FilePath,
IShaderSourceInputStreamFactory * pStreamFactory,
IShaderSourceInputStreamFactory * pReloadFactory = nullptr )
pure virtual

Parses a render state notation file.

Parameters
[in]FilePath- Render state notation file path.
[in]pStreamFactory- The factory that is used to load the source file if FilePath is not null. It is also used to create additional input streams for import files.
[in]pReloadFactory- An optional factory to use for state reloading. If null, pStreamFactory will be used when Reload() method is called.
Returns
  • True if the file was parsed successfully.
  • False otherwise.
Remarks
This method must be externally synchronized.

◆ ParseString()

virtual Bool DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::ParseString ( const Char * Source,
Uint32 Length,
IShaderSourceInputStreamFactory * pStreamFactory,
IShaderSourceInputStreamFactory * pReloadFactory = nullptr )
pure virtual

Parses a render state notation string.

Parameters
[in]Source- A pointer to the render state notation string to parse.
[in]Length- Length of the source data string. When Source is not a null-terminated string, this member should be used to specify the length of the source data. If Length is zero, the source data is assumed to be null-terminated.
[in]pStreamFactory- The factory that is used to load the source file if FilePath is not null. It is also used to create additional input streams for import files.
[in]pReloadFactory- An optional factory to use for state reloading. If null, pStreamFactory will be used when Reload() method is called.
Returns
  • True if the string was parsed successfully.
  • False otherwise.
Remarks
This method must be externally synchronized.

◆ Reload()

virtual bool DILIGENT_CALL_TYPE Diligent::IRenderStateNotationParser::Reload ( )
pure virtual

Reload all states.

Returns
true if all states were reloaded successfully, and false otherwise.
Note
This method is only allowed if the EnableReload member of RenderStateNotationParserCreateInfo struct was set to true when the parser was created.