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
GetMappingUVChannel Get a UV channel used by a mapping
SetMappingUVChannel Set a UV channel used by 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.


void MQShaderNode::SetMappingFilename(int index, char *buffer);
void MQShaderNode::SetMappingFilename(const char *name, char *buffer);
void MQShaderNode::SetMappingFilename(int index, wchar_t *buffer);
void MQShaderNode::SetMappingFilename(const char *name, wchar_t *buffer);

index
An index of a mapping
buffer
A buffer to receive a filename (ANSI or wide characters)
name
A mapping's name

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


UINT MQShaderNode::GetMappingUVChannel(int index);
UINT MQShaderNode::GetMappingFilename(const char *name);

index
An index of a mapping
name
A mapping's name
Return value
An UV channel ID

(new in Rev4.85)

It gets the UV channel used by the mapping in the shader.


void MQShaderNode::SetMappingUVChannel(int index, UINT channelID);
void MQShaderNode::SetMappingUVChannel(const char *name, UINT channelID);

index
An index of a mapping
name
A mapping's name
channelID
An UV channel ID

(new in Rev4.85)

It sets the UV channel used by the mapping in the shader.

An UV channel ID can be get by using MQDocument::GetUVChannelID().


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.