ShaderKey
-
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
Public Functions
-
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).
- Returns
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.
-
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.
- Parameters
in_key – The source Key to copy.
-
ShaderKey(ShaderKey &&in_that)
The move constructor creates a ShaderKey by transferring the underlying impl of the rvalue reference to this ShaderKey thereby avoiding a copy and allocation.
- Parameters
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.
- Parameters
in_that – The source ShaderKey to copy.
-
~ShaderKey()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::ShaderKey
-
inline virtual HPS::Type ObjectType() const