MRenderParameters Class Reference

#include <MRenderParameters.h>

Class Description

Class which defines a set of render parameters.

Public Types

enum  ParameterType {
  kInvalid, kBoolean, kInteger, kFloat,
  kFloat2, kFloat3, kFloat4, kFloat4x4Row,
  kFloat4x4Col, kTexture1, kTexture2, kTexture3,
  kTextureCube, kSampler, kRenderTarget, kString
}
 Specifies parameter types. More...
 

Public Member Functions

 MRenderParameters ()
 Constructor.
 
 MRenderParameters (void *)
 Constructor (private)
 
 MRenderParameters (const MRenderParameters &copy)
 Copy Constructor. More...
 
virtual ~MRenderParameters ()
 Destructor (virtual)
 
MRenderParametersoperator= (const MRenderParameters &other)
 Operator overload (=) More...
 
void parameterList (MStringArray &list) const
 Get the names of all parameters that are settable on this instance. More...
 
ParameterType parameterType (const MString &parameterName) const
 Get the type of the named parameter, returns kInvalid if parameter is not found. More...
 
bool isArrayParameter (const MString &parameterName) const
 Determine whether the named parameter is an array. More...
 
MString semantic (const MString &parameterName) const
 Return the semantic for a named parameter. More...
 
MStatus setParameter (const MString &parameterName, bool value)
 Set a named, boolean parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, int value)
 Set a named, integer parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, float value)
 Set a named, float parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, const float *value)
 Set a named, float, float2, float3 or float4 parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, const MFloatVector &value)
 Set a named, float, float2, float3 parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, const MMatrix &value)
 Set a named, matrix parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, const MFloatMatrix &value)
 Set a named, matrix parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, MTextureAssignment &textureAssignment)
 Set a texture parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, MRenderTargetAssignment &targetAssignment)
 Set a named, texture parameter on this instance to a render target. More...
 
MStatus setParameter (const MString &parameterName, const MSamplerState &sampler)
 Set a sampler parameter on this instance. More...
 
MStatus setParameter (const MString &parameterName, const MString &str)
 Set a named, string parameter on this instance. More...
 
MStatus setArrayParameter (const MString &parameterName, const bool *values, unsigned int count)
 Set a named, bool array parameter on this instance. More...
 
MStatus setArrayParameter (const MString &parameterName, const int *values, unsigned int count)
 Set a named, integer array parameter on this instance. More...
 
MStatus setArrayParameter (const MString &parameterName, const float *values, unsigned int count)
 Set a named, float array parameter on this instance. More...
 
MStatus setArrayParameter (const MString &parameterName, const MMatrix *values, unsigned int count)
 Set a named, matrix array parameter on this instance. More...
 
MStatus setArrayParameter (const MString &parameterName, const MString *values, unsigned int count)
 Set a named, integer array parameter on this instance. More...
 
MStatus getParameter (const MString &parameterName, bool &value)
 Get a named boolean parameter. More...
 
MStatus getParameter (const MString &parameterName, int &value)
 Get a named int parameter. More...
 
MStatus getParameter (const MString &parameterName, float &value)
 Get a named float parameter. More...
 
MStatus getParameter (const MString &parameterName, float *&value)
 Get a named float pointer parameter. More...
 
MStatus getParameter (const MString &parameterName, MFloatVector &value)
 Get a named float vector parameter. More...
 
MStatus getParameter (const MString &parameterName, MMatrix &value)
 Get a named matrix parameter. More...
 
MStatus getParameter (const MString &parameterName, MFloatMatrix &value)
 Get a named float matrix parameter. More...
 
MStatus getParameter (const MString &parameterName, MTextureAssignment &textureAssignment)
 Get a named texture parameter. More...
 
MStatus getParameter (const MString &parameterName, MRenderTargetAssignment &targetAssignment)
 Get a named target parameter. More...
 
MStatus getParameter (const MString &parameterName, MSamplerStateDesc &samplerDesc)
 Get a named sampler state parameter. More...
 
MStatus getParameter (const MString &parameterName, MString &str)
 Get a named string parameter. More...
 
MStatus getParameter (const MString &parameterName, MIntArray &values)
 Get a named int array parameter. More...
 
MStatus getParameter (const MString &parameterName, MFloatArray &values)
 Get a named float array parameter. More...
 
MStatus getParameter (const MString &parameterName, MMatrixArray &values)
 Get a named matrix array parameter. More...
 
MStatus getParameter (const MString &parameterName, MStringArray &values)
 Get a named string array parameter. More...
 

Member Enumeration Documentation

Specifies parameter types.

Enumerator
kInvalid 

Invalid element type (default value)

kBoolean 

Boolean.

kInteger 

Signed 32-bit integer.

kFloat 

IEEE single precision floating point.

kFloat2 

IEEE single precision floating point (x2)

kFloat3 

IEEE single precision floating point (x3)

kFloat4 

IEEE single precision floating point (x4)

kFloat4x4Row 

IEEE single precision floating point row-major matrix (4x4)

kFloat4x4Col 

IEEE single precision floating point column-major matrix (4x4)

kTexture1 

1D texture

kTexture2 

2D texture

kTexture3 

3D texture

kTextureCube 

Cube texture.

kSampler 

Sampler.

kRenderTarget 

Render target.

kString 

String.

Constructor & Destructor Documentation

Copy Constructor.

Parameters
[in]copyThe data to copy

Member Function Documentation

MRenderParameters & operator= ( const MRenderParameters other)

Operator overload (=)

Parameters
[in]otherThe MRenderParameters to compare against.
void parameterList ( MStringArray list) const

Get the names of all parameters that are settable on this instance.

Parameters
[out]listThe list to populate parameter names
MRenderParameters::ParameterType parameterType ( const MString parameterName) const

Get the type of the named parameter, returns kInvalid if parameter is not found.

Parameters
[in]parameterNameName of the parameter to query
Returns
The type of the named parameter
bool isArrayParameter ( const MString parameterName) const

Determine whether the named parameter is an array.

Parameters
[in]parameterNameName of the parameter to query
Returns
True if the named parameter is an array
MString semantic ( const MString parameterName) const

Return the semantic for a named parameter.

Parameters
[in]parameterNameName of the parameter to query
Returns
Semantic string. String will be empty if there is no semantic.
MStatus setParameter ( const MString parameterName,
bool  value 
)

Set a named, boolean parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
int  value 
)

Set a named, integer parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
float  value 
)

Set a named, float parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
const float *  value 
)

Set a named, float, float2, float3 or float4 parameter on this instance.

The floating point data stored in "value" will be interpreted based on the type of the named parameter. For example, for a parameter of type kFloat3, the data will be assumed to be an array containing three floats.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
const MFloatVector value 
)

Set a named, float, float2, float3 parameter on this instance.

The floating point data stored in "value" will be interpreted based on the type of the named parameter. For example, for a parameter of type kFloat3, the first 3 elements of the data will be set.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
const MMatrix value 
)

Set a named, matrix parameter on this instance.

Note that this method does not alter the matrix and it is up to the caller to set the values correctly depending on whether the parameter is row-major or column-major.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
const MFloatMatrix value 
)

Set a named, matrix parameter on this instance.

Note that this method does not alter the matrix and it is up to the caller to set the values correctly depending on whether the parameter is row-major or column-major.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
MTextureAssignment textureAssignment 
)

Set a texture parameter on this instance.

If the texture assignment contains a NULL value for texture then the shader parameter will be set to NULL.

Parameters
[in]parameterNameName of the parameter to set
[in]textureAssignmentTexture to assign
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
MRenderTargetAssignment targetAssignment 
)

Set a named, texture parameter on this instance to a render target.

If the render target assignment contains a NULL value then the shader parameter will be set to NULL.

Note, there is a significant performance penalty when binding MSAA targets (i.e. targets where multiSampleCount > 1).

Parameters
[in]parameterNameName of the parameter to set
[in]targetAssignmentRender target to assign
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
const MSamplerState sampler 
)

Set a sampler parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]samplerSampler state to assign
Returns
Status code
Status Codes:
MStatus setParameter ( const MString parameterName,
const MString value 
)

Set a named, string parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus setArrayParameter ( const MString parameterName,
const bool *  values,
unsigned int  count 
)

Set a named, bool array parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valuesThe array of values to set
[in]countThe number of values in the array
Returns
Status code
Status Codes:
MStatus setArrayParameter ( const MString parameterName,
const int *  values,
unsigned int  count 
)

Set a named, integer array parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valuesThe array of values to set
[in]countThe number of values in the array
Returns
Status code
Status Codes:
MStatus setArrayParameter ( const MString parameterName,
const float *  values,
unsigned int  count 
)

Set a named, float array parameter on this instance.

This method is used for setting not just float arrays but float2, float3 and float4 array parameters as well. The floating point data stored in "values" will be interpreted based on the type of the named parameter. For example, for a parameter of type kFloat3, the data will be assumed to be a list of float-triples containing a total of "count" float-triples. So if "count" in this example is 5, that means the total number of raw floats is 3*5=15.

Parameters
[in]parameterNameName of the parameter to set
[in]valuesThe array of values to set
[in]countThe number of floats stored in the array divided by the dimension of the data
Returns
Status code
Status Codes:
MStatus setArrayParameter ( const MString parameterName,
const MMatrix values,
unsigned int  count 
)

Set a named, matrix array parameter on this instance.

Note that this method does not alter the matrices and it is up to the caller to set the values correctly depending on whether the parameter is row-major or column-major.

Parameters
[in]parameterNameName of the parameter to set
[in]valuesThe array of values to set
[in]countThe number of values in the array
Returns
Status code
Status Codes:
MStatus setArrayParameter ( const MString parameterName,
const MString values,
unsigned int  count 
)

Set a named, integer array parameter on this instance.

Parameters
[in]parameterNameName of the parameter to set
[in]valuesThe array of values to set
[in]countThe number of values in the array
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
bool &  value 
)

Get a named boolean parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
int &  value 
)

Get a named int parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
float &  value 
)

Get a named float parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
float *&  value 
)

Get a named float pointer parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MFloatVector value 
)

Get a named float vector parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MMatrix value 
)

Get a named matrix parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MFloatMatrix value 
)

Get a named float matrix parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MTextureAssignment textureAssignment 
)

Get a named texture parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]textureAssignmentValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MRenderTargetAssignment targetAssignment 
)

Get a named target parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]targetAssignmentValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MSamplerStateDesc samplerDesc 
)

Get a named sampler state parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]samplerDescValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MString value 
)

Get a named string parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valueValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MIntArray values 
)

Get a named int array parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valuesValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MFloatArray values 
)

Get a named float array parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valuesValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MMatrixArray values 
)

Get a named matrix array parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valuesValue of the parameter
Returns
Status code
Status Codes:
MStatus getParameter ( const MString parameterName,
MStringArray values 
)

Get a named string array parameter.

Parameters
[in]parameterNameName of the parameter to query
[out]valuesValue of the parameter
Returns
Status code
Status Codes:

The documentation for this class was generated from the following files:
  • MRenderParameters.h
  • MRenderParameters.cpp