MQShaderNodeクラス

(new in Rev4.50)

 MQShaderNodeクラスは、材質内のシェーダに関する情報を管理するクラスです。

各種属性
GetShaderName シェーダ名を取得します。
GetOptionValue シェーダのオプション値を取得します。
パラメータ
GetParameterNum パラメータ数を取得します。
GetParameterName パラメータ名を取得します。
GetParameterOptionValue パラメータのオプション値を取得します。
GetParameterValueType パラメータの値の種類を取得します。
GetParameterArraySize パラメータの配列要素数を取得します。
GetParameterBoolValue パラメータのbool値を取得します。
GetParameterIntValue パラメータのint値を取得します。
GetParameterFloatValue パラメータのfloat値を取得します。
GetParameterColorValue パラメータの色を取得します。
GetParameterStringValue パラメータの文字列を取得します。
SetParameterBoolValue パラメータのbool値を設定します。
SetParameterIntValue パラメータのint値を設定します。
SetParameterFloatValue パラメータのfloat値を設定します。
SetParameterColorValue パラメータの色を設定します。
SetParameterStringValue パラメータの色を設定します。
マッピング
GetMappingNum マッピング数を取得します。
GetMappingName マッピング名を取得します。
GetMappingOptionValue マッピングのオプション値を取得します。
GetMappingFilename マッピングのファイルを取得します。
SetMappingFilename マッピングのファイル名を設定します。
GetMappingConnectedNodeID マッピングに接続されているシェーダノードのIDを取得します。
SetMappingConnectedNodeID マッピングにシェーダノードを接続します。
GetMappingConnectedNode マッピングに接続されたシェーダノードを取得します。
GetMappingParameterNum マッピングパラメータ数を取得します。
GetMappingParameterName マッピングパラメータ名を取得します。
GetMappingParameterOptionValue マッピングパラメータのオプション値を取得します。
GetMappingParameterValueType マッピングパラメータの値の種類を取得します。
GetMappingParameterArraySize マッピングパラメータの配列要素数を取得します。
GetMappingParameterBoolValue マッピングパラメータのbool値を取得します。
GetMappingParameterIntValue マッピングパラメータのint値を取得します。
GetMappingParameterFloatValue マッピングパラメータのfloat値を取得します。
GetMappingParameterColorValue マッピングパラメータの色を取得します。
GetMappingParameterStringValue マッピングパラメータの色を取得します。
SetMappingParameterBoolValue マッピングパラメータのbool値を設定します。
SetMappingParameterIntValue マッピングパラメータのint値を設定します。
SetMappingParameterFloatValue マッピングパラメータのfloat値を設定します。
SetMappingParameterColorValue マッピングパラメータの色を設定します。
SetMappingParameterStringValue マッピングパラメータの色を設定します。
出力パラメータ
GetOutputParameterNum 出力パラメータ数を取得します。
GetOutputParameterName 出力パラメータ名を取得します。
GetOutputParameterOptionValue 出力パラメータのオプション値を取得します。
GetOutputParameterValueType 出力パラメータの値の種類を取得します。

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

buffer
名前を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string 名前

HLSLシェーダの名前を取得します。


bool MQShaderNode::SetName(const char *name);

name
シェーダ名
戻り値
設定の可否

HLSLシェーダの名前を設定します。

システム側に用意されないシェーダ名を指定した場合、falseが返ります。


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

option_name
オプション名
buffer
オプション値を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string オプション値

シェーダXMLファイル内に定業されたオプション値を取得します。


int MQShaderNode::GetParameterNum(void);

戻り値
パラメータ数

シェーダが保持するパラメータの数を取得します。


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

index
パラメータのインデックス
buffer
名前を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string 名前

シェーダ内のパラメータの名前を取得します。


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
パラメータのインデックス
name
パラメータ名
option_name
オプション名
buffer
オプション値を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string オプション値

シェーダXMLファイル内で定義されたパラメータのオプション値を取得します。


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

index
パラメータのインデックス
name
パラメータの名前
戻り値
パラメータの値の種類
[MQMATERIAL_SHADER_PARAM_TYPE_NONE] なし
[MQMATERIAL_SHADER_PARAM_TYPE_BOOL] bool型
[MQMATERIAL_SHADER_PARAM_TYPE_INT] int型
[MQMATERIAL_SHADER_PARAM_TYPE_FLOAT] float型
[MQMATERIAL_SHADER_PARAM_TYPE_COLOR]
[MQMATERIAL_SHADER_PARAM_TYPE_STRING] 文字列

インデックスまたは名前で指定されたパラメータの値の種類を取得します。


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

index
パラメータのインデックス
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
パラメータのインデックス
name
パラメータの名前
array_index
配列要素のインデックス
戻り値

インデックスまたは名前で指定されたパラメータの値をbool/int/float/色で取得します。


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
パラメータのインデックス
name
パラメータの名前
array_index
配列要素のインデックス
value

インデックスまたは名前で指定されたパラメータの値をbool/int/float/色で設定します。


int MQShaderNode::GetMappingNum(void);

戻り値
マッピング数

シェーダが保持するマッピングの数を取得します。


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

index
マッピングのインデックス
buffer
名前を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string 名前

シェーダ内のマッピングの名前を取得します。


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
マッピングのインデックス
name
マッピング名
option_name
オプション名
buffer
オプション値を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string オプション値

シェーダXMLファイル内で定義されたマッピングのオプション値を取得します。


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
マッピングのインデックス
buffer
名前を格納するバッファ(ANSI文字列またはワイド文字列)
buffer_size
バッファのサイズ(文字数)
name
マッピングの名前
戻り値
int 本来の文字数
std::string ファイル名(ANSI文字列)
std::wstring ファイル名(ワイド文字列)

シェーダ内のマッピングのファイル名を取得します。


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
マッピングのインデックス
buffer
名前を格納するバッファ(ANSI文字列またはワイド文字列)
name
マッピングの名前

シェーダ内のマッピングのファイル名を設定します。


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
マッピングのインデックス
name
マッピングの名前
node_id
サブシェーダノードのID (出力)
output
出力パラメータ名 (出力)
戻り値
接続されているか

シェーダ内のマッピングに接続されているサブシェーダノードのIDと出力パラメータ名を取得します。

サブシェーダノードIDはMQMaterial::GetSubShaderNodeID()、出力パラメータ名は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
マッピングのインデックス
name
マッピングの名前
node_id
サブシェーダノードのID
output
出力パラメータ名

サブシェーダノードIDと出力パラメータ名を設定して、シェーダ内のマッピングにサブシェーダノードを接続します。

node_idかoutputにNULLを指定した場合、既存のシェーダノードへの接続を解除します。

サブシェーダノードIDはMQMaterial::GetSubShaderNodeID()、出力パラメータ名はGetOutputParameterName()が返す値と一致します。


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

index
マッピングのインデックス
name
マッピングの名前
戻り値
サブシェーダノード

シェーダ内のマッピングに接続されているサブシェーダノードを取得します。

サブシェーダノードID・出力パラメータ名が割り当てられていないか存在しない値の場合、NULLが返ります。


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

map_index
マッピングのインデックス
map_name
マッピングの名前
戻り値
パラメータ数

シェーダ内のマッピングが保持するパラメータの数を取得します。


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
マッピングのインデックス
map_name
マッピングの名前
param_index
パラメータのインデックス
buffer
名前を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string 名前

シェーダ内のマッピングが保持するパラメータの名前を取得します。


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
マッピングのインデックス
map_name
マッピングの名前
param_index
パラメータのインデックス
param_name
パラメータの名前
option_name
オプション名
buffer
オプション値を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string オプション値

シェーダXMLファイル内で定義されたマッピングパラメータのオプション値を取得します。


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
マッピングのインデックス
map_name
マッピングの名前
param_index
パラメータのインデックス
param_name
パラメータの名前
戻り値
パラメータの値の種類
[MQMATERIAL_SHADER_PARAM_TYPE_NONE] なし
[MQMATERIAL_SHADER_PARAM_TYPE_BOOL] bool型
[MQMATERIAL_SHADER_PARAM_TYPE_INT] int型
[MQMATERIAL_SHADER_PARAM_TYPE_FLOAT] float型
[MQMATERIAL_SHADER_PARAM_TYPE_COLOR]
[MQMATERIAL_SHADER_PARAM_TYPE_STRING] 文字列

インデックスまたは名前で指定されたマッピングパラメータの値の種類を取得します。


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
マッピングのインデックス
map_name
マッピングの名前
param_index
パラメータのインデックス
param_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
マッピングのインデックス
map_name
マッピングの名前
param_index
パラメータのインデックス
param_name
パラメータの名前
array_index
配列要素のインデックス
戻り値

インデックスまたは名前で指定されたマッピングパラメータの値をbool/int/float/色で取得します。


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(const char *map_name, const char *param_name, int array_index, const char *str);
void MQShaderNode::SetMappingParameterStringValue(const char *map_name, int param_index, int array_index, const char *str);
void MQShaderNode::SetMappingParameterStringalue(const char *map_name, const char *param_name, int array_index, const char *str);

map_index
マッピングのインデックス
map_name
マッピングの名前
param_index
パラメータのインデックス
param_name
パラメータの名前
array_index
配列要素のインデックス
value

インデックスまたは名前で指定されたマッピングパラメータの値をbool/int/float/色で設定します。


int MQShaderNode::GetOutputParameterNum(void);

戻り値
出力パラメータ数

シェーダXMLファイル内で定義された出力パラメータの数を取得します。


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

index
出力パラメータのインデックス
buffer
名前を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string 名前

シェーダXMLファイル内で定義された出力パラメータの名前を取得します。


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
出力パラメータのインデックス
name
出力パラメータ名
option_name
オプション名
buffer
オプション値を格納するバッファ
buffer_size
バッファのサイズ(文字数)
戻り値
int 本来の文字数
std::string オプション値

シェーダXMLファイル内で定義された出力パラメータのオプション値を取得します。


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

index
出力パラメータのインデックス
name
出力パラメータの名前
戻り値
出力パラメータの値の種類
[MQMATERIAL_SHADER_PARAM_TYPE_NONE] なし
[MQMATERIAL_SHADER_PARAM_TYPE_BOOL] bool型
[MQMATERIAL_SHADER_PARAM_TYPE_INT] int型
[MQMATERIAL_SHADER_PARAM_TYPE_FLOAT] float型
[MQMATERIAL_SHADER_PARAM_TYPE_COLOR]
[MQMATERIAL_SHADER_PARAM_TYPE_STRING] 文字列

インデックスまたは名前で指定された出力パラメータの値の種類を取得します。