VertexShaderKit

class 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