ShaderKey

class 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.

Parameters:in_that – An rvalue reference to a ShaderKey to take the impl from.
Returns:A reference to this ShaderKey.
ShaderKey &operator=(ShaderKey const &in_that)

Associate this ShaderKey with the same underlying impl as the source ShaderKey.

Parameters:in_that – The source ShaderKey for the assignment.
Returns:A reference to this 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