Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RPI::ShaderSystemInterface Class Referenceabstract

Inherited by AZ::RPI::ShaderSystem.

Public Types

using GlobalShaderOptionUpdatedEvent = Event< const AZ::Name &, ShaderOptionValue >
 
using GlobalShaderOptionMap = AZStd::unordered_map< Name, ShaderOptionValue >
 

Public Member Functions

 AZ_RTTI (ShaderSystemInterface, "{D14E323A-2240-46DA-9126-6746D10A93F1}")
 
 AZ_DISABLE_COPY_MOVE (ShaderSystemInterface)
 
virtual void SetGlobalShaderOption (const AZ::Name &shaderOptionName, ShaderOptionValue value)=0
 Set a global shader option value that can be used by any shader with a matching shader option name.
 
virtual ShaderOptionValue GetGlobalShaderOption (const AZ::Name &shaderOptionName)=0
 Return the value of a global shader option, or Null if the value is not set.
 
virtual const GlobalShaderOptionMap & GetGlobalShaderOptions () const =0
 Returns the collection of all global shader options and their values.
 
virtual void Connect (GlobalShaderOptionUpdatedEvent::Handler &handler)=0
 Connect a handler for GlobalShaderOptionUpdatedEvent's.
 
virtual void SetSupervariantName (const AZ::Name &supervariantName)=0
 
virtual const AZ::Name & GetSupervariantName () const =0
 

Static Public Member Functions

static ShaderSystemInterfaceGet ()
 

Member Function Documentation

◆ Connect()

virtual void AZ::RPI::ShaderSystemInterface::Connect ( GlobalShaderOptionUpdatedEvent::Handler &  handler)
pure virtual

Connect a handler for GlobalShaderOptionUpdatedEvent's.

Implemented in AZ::RPI::ShaderSystem.

◆ GetGlobalShaderOption()

virtual ShaderOptionValue AZ::RPI::ShaderSystemInterface::GetGlobalShaderOption ( const AZ::Name &  shaderOptionName)
pure virtual

Return the value of a global shader option, or Null if the value is not set.

Implemented in AZ::RPI::ShaderSystem.

◆ GetGlobalShaderOptions()

virtual const GlobalShaderOptionMap & AZ::RPI::ShaderSystemInterface::GetGlobalShaderOptions ( ) const
pure virtual

Returns the collection of all global shader options and their values.

Implemented in AZ::RPI::ShaderSystem.

◆ SetGlobalShaderOption()

virtual void AZ::RPI::ShaderSystemInterface::SetGlobalShaderOption ( const AZ::Name &  shaderOptionName,
ShaderOptionValue  value 
)
pure virtual

Set a global shader option value that can be used by any shader with a matching shader option name.

Implemented in AZ::RPI::ShaderSystem.

◆ SetSupervariantName()

virtual void AZ::RPI::ShaderSystemInterface::SetSupervariantName ( const AZ::Name &  supervariantName)
pure virtual

The ShaderSystem supervariantName is used by the ShaderAsset to search for an additional supervariant permutation. This is done by appending the supervariantName set here to the user-specified supervariant name. Currently this is used for NoMSAA supervariant support.

Implemented in AZ::RPI::ShaderSystem.


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