class
TVariation
template<bool IsRenderProxy>
Inherits:
VariationBase
Templated class that is used for implementing both main and render thread versions of Variation.
Public
Constructors
TVariation<IsRenderProxy>
TVariation<IsRenderProxy>()
TVariation<IsRenderProxy>
TVariation<IsRenderProxy>(const WeakSPtr<ShaderType> &owner, const String &language, const ShaderVariationParameters &variationParameters, const TOptional<TPrecompiledVariationData<IsRenderProxy>> &precompiledData)
Methods
~TVariation<IsRenderProxy>
virtual ~TVariation<IsRenderProxy>() = default
GetPass
SPtr<PassType> GetPass(u32 passIndex) const
Returns a pass with the specified index.
GetPassCount
u32 GetPassCount() const
Returns total number of passes.
Compile
TAsyncOp<bool> Compile()
Compiles the variation in case it was not initialized with precompiled data.
IsCompiled
bool IsCompiled() const
Returns true if the variation has been fully compiled.
Internal
Methods
SetCompiledPassData
void SetCompiledPassData(TInlineArray<SPtr<PassType>, 1> compiledPasses)
Assigns a set of compiled passes to the variation.
This should be called only when a variation has not been initialized with precompiled pass data, and compilation for the variation finished.
SetOwner
void SetOwner(const WeakSPtr<ShaderType> &owner)
Sets the shader that owns this variation.
Protected
Methods
GetSelf
virtual SPtr<VariationType> GetSelf() = 0
Returns a reference to itself using the most derived type.
Fields
mOwner
WeakSPtr<ShaderType> mOwner
mPasses
TInlineArray<SPtr<PassType>, 1> mPasses
mHasPassData
bool mHasPassData
mIsCompiled
bool mIsCompiled