MQShaderNode class

(new in Rev4.50)

MQShaderNode class manages a shader information in a material.

Attributes
GetShaderName Get a shader's name
GetOptionValue Get a shader's option value
Parameters
GetParameterNum Get a number of parameters
GetParameterName Get a parameter's name
GetParameterOptionValue Get a parameter's option value
GetParameterValueType Get a value type of a parameter
GetParameterArraySize Get an array size of a parameter
GetParameterBoolValue Get a bool value in a parameter
GetParameterIntValue Get an int value in a parameter
GetParameterFloatValue Get a float value in a parameter
GetParameterColorValue Get a color in a parameter
SetParameterBoolValue Set a bool value in a parameter
SetParameterIntValue Set an int value in a parameter
SetParameterFloatValue Set a float value in a parameter
SetParameterColorValue Set a color in a parameter
Mappings
GetMappingNum Get a number of mappings
GetMappingName Get a mapping's name
GetMappingOptionValue Get a mapping's option value
GetMappingFilename Get a filename in a mapping
SetMappingFilename Set a filename in a mapping
GetMappingParameterNum Get a number of mapping parameters
GetMappingParameterName Get a mapping parameter's name
GetMappingParameterOptionValue Get a mapping parameter's option value
GetMappingParameterValueType Get a value type of a mapping parameter
GetMappingParameterArraySize Get an array size of a mapping parameter
GetMappingParameterBoolValue Get a bool value in a mapping parameter
GetMappingParameterIntValue Get an int value in a mapping parameter
GetMappingParameterFloatValue Get a float value in a mapping parameter
GetMappingParameterColorValue Get a color in a mapping parameter
SetMappingParameterBoolValue Set a bool value in a mapping parameter
SetMappingParameterIntValue Set an int value in a mapping parameter
SetMappingParameterFloatValue Set a float value in a mapping parameter
SetMappingParameterColorValue Set a color in a mapping parameter
Output parameters
GetOutputParameterNum Get a number of output parameters
GetOutputParameterName Get an output parameter's name
GetOutputParameterOptionValue Get an output parameter's option value
GetOutputParameterValueType Get a value type of an output parameter

int MQShaderNode::GetShaderName(char *buffer, int buffer_size);
std::string MQShaderNode::GetShaderName(void);

buffer
A buffer to receive a shader name
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : A name

It returns a HLSL shader's name.


int MQShaderNode::GetOptionValue(const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetOptionValue(const char *option_name);

option_name
An option's name
buffer
A buffer to receive an option value
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : An option value

It returns an option value defined in a shader .xml file.


int MQShaderNode::GetParameterNum(void);

Return value
A number of parameters

It returns a number of parameters in a shader node.


int MQShaderNode::GetParameterName(int index, char *buffer, int buffer_size);
std::string MQShaderNode::GetParameterName(int index);

index
An index of a parameter
buffer
A buffer to receive a parameter name
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : A name

It returns a parameter's name in a shader node.


int MQShaderNode::GetParameterOptionValue(int index, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetParameterOptionValue(int index, const char *option_name);
int MQShaderNode::GetParameterOptionValue(const char *name, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetParameterOptionValue(const char *name, const char *option_name);

index
An index of a parameter
name
A parameter's name
option_name
An option's name
buffer
A buffer to receive an option value
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : An option value

It returns a parameter's option value defined in a shader .xml file.


int MQShaderNode::GetParameterValueType(int index);
int MQShaderNode::GetParameterValueType(const char *name);

index
An index of a parameter
name
A parameter's name
Return value
A type of a value
[MQMATERIAL_SHADER_PARAM_TYPE_NONE] None
[MQMATERIAL_SHADER_PARAM_TYPE_BOOL] bool value
[MQMATERIAL_SHADER_PARAM_TYPE_INT] int value
[MQMATERIAL_SHADER_PARAM_TYPE_FLOAT] float value
[MQMATERIAL_SHADER_PARAM_TYPE_COLOR] color
[MQMATERIAL_SHADER_PARAM_TYPE_STRING] string

It returns a type of values in a parameter specified by an index or a name.


int MQShaderNode::GetParameterArraySize(int index);
int MQShaderNode::GetParameterArraySize(const char *name);

index
An index of a parameter
name
A parameter's name
Return value
A number of an array

It returns a number of an array in a parameter specified by an index or a name.


bool MQShaderNode::GetParameterBoolValue(int index, int array_index);
bool MQShaderNode::GetParameterBoolValue(const char *name, int array_index);
int MQShaderNode::GetParameterIntValue(int index, int array_index);
int MQShaderNode::GetParameterIntValue(const char *name, int array_index);
float MQShaderNode::GetParameterFloatValue(int index, int array_index);
float MQShaderNode::GetParameterFloatValue(const char *name, int array_index);
MQColorRGBA MQShaderNode::GetParameterColorValue(int index, int array_index);
MQColorRGBA MQShaderNode::GetParameterColorValue(const char *name, int array_index);
std::string MQShaderNode::GetParameterStringValue(int index, int array_index);
std::string MQShaderNode::GetParameterStringValue(const char *name, int array_index);

index
An index of a parameter
name
A parameter's name
array_index
An index in an array
Return value
A value

It returns a value as bool, int, float or color value in a parameter specified by an index or a name.


void MQShaderNode::SetParameterBoolValue(int index, int array_index, bool value);
void MQShaderNode::SetParameterBoolValue(const char *name, int array_index, bool value);
void MQShaderNode::SetParameterIntValue(int index, int array_index, int value);
void MQShaderNode::SetParameterIntValue(const char *name, int array_index, int value);
void MQShaderNode::SetParameterFloatValue(int index, int array_index, float value);
void MQShaderNode::SetParameterFloatValue(const char *name, int array_index, float value);
void MQShaderNode::SetParameterColorValue(int index, int array_index, MQColorRGBA color);
void MQShaderNode::SetParameterColorValue(const char *name, int array_index, MQColorRGBA color);
void MQShaderNode::SetParameterStringValue(int index, int array_index, const char *str);
void MQShaderNode::SetParameterStringValue(const char *name, int array_index, const char *str);

index
An index of a parameter
name
A parameter's name
array_index
An index in an array
value
A value

It specifies a value as bool, int, float or color value in a parameter specified by an index or a name.


int MQShaderNode::GetMappingNum(void);

Return value
A number of mappings

It returns a number of mappings in a shader node.


int MQShaderNode::GetMappingName(int index, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingName(int index);

index
An index of a mapping
buffer
A buffer to receive a mapping name
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : A name

It returns a mapping's name in a shader node.


int MQShaderNode::GetMappingOptionValue(int index, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingOptionValue(int index, const char *option_name);
int MQShaderNode::GetMappingOptionValue(const char *name, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingOptionValue(const char *name, const char *option_name);

index
An index of a mapping
name
A mapping's name
option_name
An option's name
buffer
A buffer to receive an option value
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : An option value

It returns a mapping's option value defined in a shader .xml file.


int MQShaderNode::GetMappingFilename(int index, char *buffer, int buffer_size);
int MQShaderNode::GetMappingFilename(const char *name, char *buffer, int buffer_size);
int MQShaderNode::GetMappingFilename(int index, wchar_t *buffer, int buffer_size);
int MQShaderNode::GetMappingFilename(const char *name, wchar_t *buffer, int buffer_size);
std::string MQShaderNode::GetMappingFilename(int index);
std::string MQShaderNode::GetMappingFilename(const char *name);
std::wstring MQShaderNode::GetMappingFilenameW(int index);
std::wstring MQShaderNode::GetMappingFilenameW(const char *name);

index
An index of a mapping
buffer
A buffer to receive a filename (ANSI or wide characters)
buffer_size
A length of a buffer (by a number of characters)
name
A mapping's name
Return value
int : An actual number of characters
std::string : A filename (ANSI characters)
std::wstring A filename (Wide characters)

It returns a filename for a mapping in a shader node.


bool MQShaderNode::GetMappingConnectedNodeID(int index, std::string& node_id, std::string& output);
bool MQShaderNode::GetMappingConnectedNodeID(const char *name, std::string& node_id, std::string& output);

index
An index of a mapping
name
A mapping's name
node_id
A sub shader node's ID (out)
output
An output parameter's name (out)
Return value
Whether to be selected a sub shader node or not

It returns a sub shader node's ID and an output parameter's name connected to the mapping in a shader node.

A sub shader node's ID corresponds to MQMaterial::GetSubShaderNodeID(), and an output parameter's name corresponds to GetOutputParameterName().


void MQShaderNode::SetMappingConnectedNodeID(int index, const char *node_id, const char *output);
void MQShaderNode::SetMappingConnectedNodeID(const char *name, const char *node_id, const char *output);

index
An index of a mapping
name
A mapping's name
node_id
A sub shader node's ID
output
An output parameter's name

It connects the mapping to a sub shader node by a sub shader node's ID and an output paramter's name. When node_id or output is NULL, it disconnects an existing connected node.

A sub shader node's ID corresponds to MQMaterial::GetSubShaderNodeID(), and an output parameter's name corresponds to GetOutputParameterName().


MQShaderNode MQShaderNode::GetMappingConnectedNode(int index);
MQShaderNode MQShaderNode::GetMappingConnectedNode(const char *name);

index
An index of a mapping
name
A mapping's name
Return value
A sub shader node

It returns a sub shader node connected to the mapping in a shader node.

When a sub shader node ID or an output parameter's name is not assigned or it does not exist, this method returns NULL.


int MQShaderNode::GetMappingParameterNum(int map_index);
int MQShaderNode::GetMappingParameterNum(const char *map_name);

map_index
An index of a mapping
map_name
A mapping's name
Return value
A number of parameters

It returns a number of parameters in a mapping.


int MQShaderNode::GetMappingParameterName(int map_index, int param_index, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingParameterName(int map_index, int param_index);
int MQShaderNode::GetMappingParameterName(const char *map_name, int param_index, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingParameterName(const char *map_name, int param_index);

map_index
An index of a mapping
map_name
A mapping's name
param_index
An index of a mapping parameter
buffer
A buffer to receive a mapping name
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string A name

It returns a mapping parameter's name in a shader node.


int MQShaderNode::GetMappingParameterOptionValue(int map_index, int param_index, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingParameterOptionValue(int map_index, int param_index, const char *option_name);
int MQShaderNode::GetMappingParameterOptionValue(const char *map_name, int param_index, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingParameterOptionValue(const char *map_name, int param_index, const char *option_name);
int MQShaderNode::GetMappingParameterOptionValue(const char *map_name, const char *param_name, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetMappingParameterOptionValue(const char *map_name, const char *param_name, const char *option_name);

map_index
An index of a mapping
map_name
A mapping's name
param_index
An index of a mapping parameter
param_name
A mapping parameter's name
option_name
An option's name
buffer
A buffer to receive an option value
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : An option value

It returns a mapping parameter's option value defined in a shader .xml file.


int MQShaderNode::GetMappingParameterValueType(int map_index, int param_index);
int MQShaderNode::GetMappingParameterValueType(const char *map_name, int param_index);
int MQShaderNode::GetMappingParameterValueType(const char *map_name, const char *param_name);

map_index
An index of a mapping
map_name
A mapping's name
param_index
An index of a mapping parameter
param_name
A mapping parameter's name
Return value
A type of a value
[MQMATERIAL_SHADER_PARAM_TYPE_NONE] None
[MQMATERIAL_SHADER_PARAM_TYPE_BOOL] bool value
[MQMATERIAL_SHADER_PARAM_TYPE_INT] int value
[MQMATERIAL_SHADER_PARAM_TYPE_FLOAT] float value
[MQMATERIAL_SHADER_PARAM_TYPE_COLOR] color
[MQMATERIAL_SHADER_PARAM_TYPE_STRING] string

It returns a type of values in a mapping parameter specified by an index or a name.


int MQShaderNode::GetMappingParameterArraySize(int map_index, int param_index);
int MQShaderNode::GetMappingParameterArraySize(const char *map_name, int param_index);
int MQShaderNode::GetMappingParameterArraySize(const char *map_name, const char *param_name);

map_index
An index of a mapping
map_name
A mapping's name
param_index
An index of a mapping parameter
param_name
A mapping parameter's name
Return value
A number of an array

It returns a number of an array in a mapping parameter specified by an index or a name.


bool MQShaderNode::GetMappingParameterBoolValue(int map_index, int param_index, int array_index);
bool MQShaderNode::GetMappingParameterBoolValue(const char *map_name, int param_index, int array_index);
bool MQShaderNode::GetMappingParameterBoolValue(const char *map_name, const char *param_name, int array_index);
int MQShaderNode::GetMappingParameterIntValue(int map_index, int param_index, int array_index);
int MQShaderNode::GetMappingParameterIntValue(const char *map_name, int param_index, int array_index);
int MQShaderNode::GetMappingParameterIntValue(const char *map_name, const char *param_name, int array_index);
float MQShaderNode::GetMappingParameterFloatValue(int map_index, int param_index, int array_index);
float MQShaderNode::GetMappingParameterFloatValue(const char *map_name, int param_index, int array_index);
float MQShaderNode::GetMappingParameterFloatValue(const char *map_name, const char *param_name, int array_index);
MQColorRGBA MQShaderNode::GetMappingParameterColorValue(int map_index, int param_index, int array_index);
MQColorRGBA MQShaderNode::GetMappingParameterColorValue(const char *map_name, int param_index, int array_index);
MQColorRGBA MQShaderNode::GetMappingParameterColorValue(const char *map_name, const char *param_name, int array_index);
std::string MQShaderNode::GetMappingParameterStringValue(int map_index, int param_index, int array_index);
std::string MQShaderNode::GetMappingParameterStringValue(const char *map_name, int param_index, int array_index);
std::string MQShaderNode::GetMappingParameterStringValue(const char *map_name, const char *param_name, int array_index);

map_index
An index of a mapping
map_name
A mapping's name
param_index
An index of a mapping parameter
param_name
A mapping parameter's name
array_index
An index in an array
Return value
A value

It returns a value as bool, int, float or color value in a mapping parameter specified by an index or a name.


void MQShaderNode::SetMappingParameterBoolValue(int map_index, int param_index, int array_index, bool value);
void MQShaderNode::SetMappingParameterBoolValue(const char *map_name, int param_index, int array_index, bool value);
void MQShaderNode::SetMappingParameterBoolValue(const char *map_name, const char *param_name, int array_index, bool value);
void MQShaderNode::SetMappingParameterIntValue(int map_index, int param_index, int array_index, int value);
void MQShaderNode::SetMappingParameterIntValue(const char *map_name, int param_index, int array_index, int value);
void MQShaderNode::SetMappingParameterIntValue(const char *map_name, const char *param_name, int array_index, int value);
void MQShaderNode::SetMappingParameterFloatValue(int map_index, int param_index, int array_index, float value);
void MQShaderNode::SetMappingParameterFloatValue(const char *map_name, int param_index, int array_index, float value);
void MQShaderNode::SetMappingParameterFloatValue(const char *map_name, const char *param_name, int array_index, float value);
void MQShaderNode::SetMappingParameterColorValue(int map_index, int param_index, int array_index, MQColorRGBA color);
void MQShaderNode::SetMappingParameterColorValue(const char *map_name, int param_index, int array_index, MQColorRGBA color);
void MQShaderNode::SetMappingParameterColorValue(const char *map_name, const char *param_name, int array_index, MQColorRGBA color);
void MQShaderNode::SetMappingParameterStringValue(int map_index, int param_index, int array_index, const char *str);
void MQShaderNode::SetMappingParameterStringValue(const char *map_name, int param_index, int array_index, const char *str);
void MQShaderNode::SetMappingParameterStringValue(const char *map_name, const char *param_name, int array_index, const char *str);

map_index
An index of a mapping
map_name
A mapping's name
param_index
An index of a mapping parameter
param_name
A mapping parameter's name
array_index
An index in an array
value
A value

It specifies a value as bool, int, float or color value in a mapping parameter specified by an index or a name.


int MQShaderNode::GetOutputParameterNum(void);

Return value
A number of output parameters

It returns a number of output parameters defined in a shader .xml file


int MQShaderNode::GetOutputParameterName(int index, char *buffer, int buffer_size);
std::string MQShaderNode::GetOutputParameterName(int index);

index
An index of an output parameter
buffer
A buffer to receive an output parameter name
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : A name

It returns an output parameter's name defined in a shader .xml file.


int MQShaderNode::GetOutputParameterOptionValue(int index, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetOutputParameterOptionValue(int index, const char *option_name);
int MQShaderNode::GetOutputParameterOptionValue(const char *name, const char *option_name, char *buffer, int buffer_size);
std::string MQShaderNode::GetOutputParameterOptionValue(const char *name, const char *option_name);

index
An index of an output parameter
name
An output parameter's name
option_name
An option's name
buffer
A buffer to receive an option value
buffer_size
A length of a buffer (by a number of characters)
Return value
int : An actual number of characters
std::string : An option value

It returns an output parameter's option value defined in a shader .xml file.


int MQShaderNode::GetOutputParameterValueType(int index);
int MQShaderNode::GetOutputParameterValueType(const char *name);

index
An index of an output parameter
name
An output parameter's name
Return value
A type of a value
[MQMATERIAL_SHADER_PARAM_TYPE_NONE] None
[MQMATERIAL_SHADER_PARAM_TYPE_BOOL] bool value
[MQMATERIAL_SHADER_PARAM_TYPE_INT] int value
[MQMATERIAL_SHADER_PARAM_TYPE_FLOAT] float value
[MQMATERIAL_SHADER_PARAM_TYPE_COLOR] color
[MQMATERIAL_SHADER_PARAM_TYPE_STRING] string

It returns a type of values in an output parameter specified by an index or a name.