VertexShaderKit

class HPS::VertexShaderKit : public HPS::Kit

The VertexShaderKit class is a user space object. It is used for specifying all settings related to a VertexShaderKey.

Public Functions

virtual bool Empty() const

Indicates whether this VertexShaderKit has any values set on it.

Returns

true if no values are set on this VertexShaderKit, false otherwise.

bool Equals(VertexShaderKit const &in_kit) const

Check if the source VertexShaderKit is equivalent to this VertexShaderKit.

Parameters

in_kit – The source VertexShaderKit to compare to this VertexShaderKit.

Returns

true if the objects are equivalent, false otherwise.

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.

bool operator!=(VertexShaderKit const &in_kit) const

Check if the source VertexShaderKit is not equivalent to this VertexShaderKit.

Parameters

in_kit – The source VertexShaderKit to compare to this VertexShaderKit.

Returns

true if the objects are not equivalent, false otherwise.

VertexShaderKit &operator=(VertexShaderKit &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this VertexShaderKit thereby avoiding a copy.

Parameters

in_that – An rvalue reference to a VertexShaderKit to take the impl from.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &operator=(VertexShaderKit const &in_kit)

Copies the source VertexShaderKit into this VertexShaderKit.

Parameters

in_kit – The source VertexShaderKit to copy.

Returns

A reference to this VertexShaderKit.

bool operator==(VertexShaderKit const &in_kit) const

Check if the source VertexShaderKit is equivalent to this VertexShaderKit.

Parameters

in_kit – The source VertexShaderKit to compare to this VertexShaderKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(VertexShaderKit const &in_kit)

Copies the source VertexShaderKit into this VertexShaderKit.

Parameters

in_kit – The source VertexShaderKit to copy.

VertexShaderKit &SetInputs(HPS::Shader::VertexInputs in_inputs)

Sets the input flags for the shader.

Parameters

in_inputs – The input flags for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &SetName(char const *in_name)

Sets the name of the shader.

Parameters

in_source – The name of the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &SetOutputs(HPS::VertexShaderOutputArray const &in_outputs)

Sets the output value types for the shader.

Parameters

in_outputs – One or more VertexShaderOutput classes defining the data for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &SetSource(char const *in_source)

Sets the source code for the shader.

Parameters

in_source – The source code for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &SetUniforms(HPS::ShaderUniformArray const &in_uniforms)

Sets the uniform data types for the shader.

Parameters

in_uniforms – One or more ShaderUniform classes defining the data for the shader.

Returns

A reference to this VertexShaderKit.

void Show(VertexShaderKit &out_kit) const

Copies this VertexShaderKit into the given VertexShaderKit.

Parameters

out_kit – The VertexShaderKit to populate with the contents of this VertexShaderKit.

bool ShowInputs(HPS::Shader::VertexInputs &out_inputs) const

Shows the input flags for the shader.

Parameters

out_inputs – The input flags for the shader.

Returns

true if the input flags field is valid, false otherwise.

bool ShowName(UTF8 &out_name) const

Shows the name of the shader.

Parameters

out_source – The name of the shader.

Returns

true if the name is valid, false otherwise.

bool ShowOutputs(HPS::VertexShaderOutputArray &out_outputs) const

Shows the output value types for the shader.

Parameters

out_outputs – The output value types for the shader.

Returns

true if the outputs array is valid, false otherwise.

bool ShowSource(UTF8 &out_source) const

Shows the source code for the shader.

Parameters

out_source – The source code for the shader.

Returns

true if the source code is valid, false otherwise.

bool ShowUniforms(HPS::ShaderUniformArray &out_uniforms) const

Shows the uniform data types for the shader.

Parameters

out_uniforms – The output value types for the shader.

Returns

true if the uniforms array is valid, false otherwise.

VertexShaderKit &UnsetEverything()

Removes all settings from this VertexShaderKit.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &UnsetInputs()

Removes the input flags for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &UnsetName()

Removes the name of the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &UnsetOutputs()

Removes the output value types for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &UnsetSource()

Removes the source code for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit &UnsetUniforms()

Removes the uniform data types for the shader.

Returns

A reference to this VertexShaderKit.

VertexShaderKit()

The default constructor creates an empty VertexShaderKit object.

VertexShaderKit(VertexShaderKit &&in_that)

The move constructor creates a VertexShaderKit by transferring the underlying impl of the rvalue reference to this VertexShaderKit thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to a VertexShaderKit to take the impl from.

VertexShaderKit(VertexShaderKit const &in_kit)

The copy constructor creates a new VertexShaderKit object that contains the same settings as the source VertexShaderKit.

Parameters

in_kit – The source VertexShaderKit to copy.

virtual ~VertexShaderKit()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::VertexShaderKit