#include <ShaderVariant.h>
Public Member Functions | |
AZ_DEFAULT_COPY_MOVE (ShaderVariant) | |
void | ConfigurePipelineState (RHI::PipelineStateDescriptor &descriptor) const |
const ShaderVariantId & | GetShaderVariantId () const |
bool | IsFullyBaked () const |
AZStd::sys_time_t | GetBuildTimestamp () const |
bool | IsRootVariant () const |
ShaderVariantStableId | GetStableId () const |
const Data::Asset< ShaderAsset > & | GetShaderAsset () const |
const Data::Asset< ShaderVariantAsset > & | GetShaderVariantAsset () const |
Friends | |
class | Shader |
Represents the concrete state to configure a PipelineStateDescriptor. ShaderVariant's match the RHI::PipelineStateType of the parent Shader instance. For shaders on the raster pipeline, the RHI::DrawFilterTag is also provided.
void AZ::RPI::ShaderVariant::ConfigurePipelineState | ( | RHI::PipelineStateDescriptor & | descriptor | ) | const |
Fills a pipeline state descriptor with settings provided by the ShaderVariant. (Note that this does not fill the InputStreamLayout or OutputAttachmentLayout as that also requires information from the mesh data and pass system and must be done as a separate step).
|
inline |
Return the timestamp when this asset was built. This is used to synchronize versions of the ShaderAsset and ShaderVariantAsset, especially during hot-reload. This timestamp must be >= than the ShaderAsset timestamp.
|
inline |
Returns whether the variant is fully baked variant (all options are static branches), or false if the variant uses dynamic branches for some shader options. If the shader variant is not fully baked, the ShaderVariantKeyFallbackValue must be correctly set when drawing.