Inherits AZ::Data::AssetData, ShaderVariantFinderNotificationBus::Handler, and AssetInitBus::Handler.
|
| AZ_RTTI (ShaderAsset, "{823395A3-D570-49F4-99A9-D820CD1DEF98}", Data::AssetData) |
|
| AZ_DISABLE_COPY_MOVE (ShaderAsset) |
|
const Name & | GetName () const |
| Returns the name of the shader.
|
|
RHI::PipelineStateType | GetPipelineStateType () const |
| Returns the pipeline state type generated by variants of this shader.
|
|
const Name & | GetDrawListName () const |
|
const ShaderOptionGroupLayout * | GetShaderOptionGroupLayout () const |
| Returns the shader option group layout.
|
|
ShaderOptionGroup | GetDefaultShaderOptions () const |
| Returns the default shader option values.
|
|
SupervariantIndex | GetSupervariantIndex (const AZ::Name &supervariantName) const |
|
const AZ::Name & | GetSupervariantName (SupervariantIndex supervariantIndex) const |
| If a Supervariant with such index doesn't exist, returns the default supervariant name "".
|
|
Data::Asset< ShaderVariantAsset > | GetVariantAsset (const ShaderVariantId &shaderVariantId, SupervariantIndex supervariantIndex) |
|
Data::Asset< ShaderVariantAsset > | GetVariantAsset (const ShaderVariantId &shaderVariantId) |
|
ShaderVariantSearchResult | FindVariantStableId (const ShaderVariantId &shaderVariantId) |
|
Data::Asset< ShaderVariantAsset > | GetVariantAsset (ShaderVariantStableId shaderVariantStableId, SupervariantIndex supervariantIndex) const |
|
Data::Asset< ShaderVariantAsset > | GetVariantAsset (ShaderVariantStableId shaderVariantStableId) const |
|
Data::Asset< ShaderVariantAsset > | GetRootVariantAsset (SupervariantIndex supervariantIndex) const |
|
Data::Asset< ShaderVariantAsset > | GetRootVariantAsset () const |
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | FindShaderResourceGroupLayout (const Name &shaderResourceGroupName, SupervariantIndex supervariantIndex) const |
| Finds and returns the shader resource group asset with the requested name. Returns an empty handle if no matching group was found.
|
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | FindShaderResourceGroupLayout (const Name &shaderResourceGroupName) const |
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | FindShaderResourceGroupLayout (uint32_t bindingSlot, SupervariantIndex supervariantIndex) const |
| Finds and returns the shader resource group layout associated with the requested binding slot. Returns an empty handle if no matching srg was found.
|
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | FindShaderResourceGroupLayout (uint32_t bindingSlot) const |
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | FindFallbackShaderResourceGroupLayout (SupervariantIndex supervariantIndex) const |
| Finds and returns the shader resource group layout designated as a ShaderVariantKey fallback.
|
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | FindFallbackShaderResourceGroupLayout () const |
|
AZStd::span< const RHI::Ptr< RHI::ShaderResourceGroupLayout > > | GetShaderResourceGroupLayouts (SupervariantIndex supervariantIndex) const |
| Returns the set of shader resource group layouts owned by a given supervariant.
|
|
AZStd::span< const RHI::Ptr< RHI::ShaderResourceGroupLayout > > | GetShaderResourceGroupLayouts () const |
|
const RHI::PipelineLayoutDescriptor * | GetPipelineLayoutDescriptor (SupervariantIndex supervariantIndex) const |
| Returns the pipeline layout descriptor shared by all variants in the asset.
|
|
const RHI::PipelineLayoutDescriptor * | GetPipelineLayoutDescriptor () const |
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | GetDrawSrgLayout (SupervariantIndex supervariantIndex) const |
| Returns the shader resource group asset that has per-draw frequency, which is added to every draw packet.
|
|
const RHI::Ptr< RHI::ShaderResourceGroupLayout > & | GetDrawSrgLayout () const |
|
const ShaderInputContract & | GetInputContract (SupervariantIndex supervariantIndex) const |
| Returns the ShaderInputContract which describes which inputs the shader requires.
|
|
const ShaderInputContract & | GetInputContract () const |
|
const ShaderOutputContract & | GetOutputContract (SupervariantIndex supervariantIndex) const |
| Returns the ShaderOuputContract which describes which outputs the shader requires.
|
|
const ShaderOutputContract & | GetOutputContract () const |
|
const RHI::RenderStates & | GetRenderStates (SupervariantIndex supervariantIndex) const |
| Returns the render states for the draw pipeline. Only used for draw pipelines.
|
|
const RHI::RenderStates & | GetRenderStates () const |
|
AZStd::optional< RHI::ShaderStageAttributeArguments > | GetAttribute (const RHI::ShaderStage &shaderStage, const Name &attributeName, SupervariantIndex supervariantIndex) const |
| Returns a list of arguments for the specified attribute, or nullopt_t if the attribute is not found. The list can be empty which is still valid.
|
|
AZStd::optional< RHI::ShaderStageAttributeArguments > | GetAttribute (const RHI::ShaderStage &shaderStage, const Name &attributeName) const |
|