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.

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