class HPS::ShaderKey : public HPS::Key
The ShaderKey class is a smart pointer to a database object. Shaders are special objects used for 3d rendering. A segment can use a shader to its 3d rendering.
Subclassed by HPS::PixelShaderKey, HPS::ShaderSamplerKey, HPS::ShaderTextureKey, HPS::VertexShaderKey
inline virtual HPS::Type ObjectType() const
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
The declared type of the object in question, which may differ from the true, underlying type.
ShaderKey &operator=(ShaderKey &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this ShaderKey thereby avoiding a copy.
ShaderKey &operator=(ShaderKey const &in_that)
Associate this ShaderKey with the same underlying impl as the source ShaderKey.
The default constructor creates an uninitialized ShaderKey object. The Type() function will return Type::None.
explicit ShaderKey(Key const &in_that)
This constructor creates a ShaderKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a shader. Otherwise the copy will fail and the resulting ShaderKey will be invalid.
in_key – The source Key to copy.
The move constructor creates a ShaderKey by transferring the underlying impl of the rvalue reference to this ShaderKey thereby avoiding a copy and allocation.
in_that – An rvalue reference to a ShaderKey to take the impl from.
ShaderKey(ShaderKey const &in_that)
The copy constructor creates a ShaderKey object that shares the underlying smart-pointer of the source ShaderKey.
in_that – The source ShaderKey to copy.
Public Static Attributes
static const HPS::Type staticType = HPS::Type::ShaderKey
- inline virtual HPS::Type ObjectType() const