MQMaterialクラス

 MQMaterialクラスは、材質に関する情報を管理するクラスです。

基本操作 DeleteThis マテリアルクラスを消滅させます
GetUniqueID オブジェクトのユニークIDを取得します
各種属性 GetName 名前を取得します
GetShader シェーダの種類を取得します
GetVertexColor 頂点カラーの種類を取得します
GetColor 基本色を取得します
GetAlpha 不透明度を取得します
GetDiffuse 拡散光を取得します
GetAmbient 環境光を取得します
GetEmission 自己照明を取得します
GetSpecular 反射光を取得します
GetPower 反射の強さを取得します
GetTextureName 模様マッピングのファイル名を取得します
GetAlphaName 透明マッピングのファイル名を取得します
GetBumpName 凸凹マッピングのファイル名を取得します
GetMappingType マッピングの投影方式を取得します
GetMappingPosition マッピングの投影位置を取得します
GetMappingScaling マッピングの投影拡大率を取得します
GetMappingAngle マッピングの投影回転角を取得します
SetName 名前を設定します
SetShader シェーダの種類を設定します
SetVertexColor 頂点カラーの種類を設定します
SetColor 基本色を設定します
SetAlpha 不透明度を設定します
SetDiffuse 拡散光を設定します
SetAmbient 環境光を設定します
SetEmission 自己照明を設定します
SetSpecular 反射光を設定します
SetPower 反射の強さを設定します
SetTextureName 模様マッピングのファイル名を設定します
SetAlphaName 透明マッピングのファイル名を設定します
SetBumpName 凸凹マッピングのファイル名を設定します
SetMappingType マッピングの投影方式を設定します
SetMappingPosition マッピングの投影位置を設定します
SetMappingScaling マッピングの投影拡大率を設定します
SetMappingAngle マッピングの投影回転角を設定します

void MQMaterial::DeleteThis(void);

 マテリアルクラスを消滅させます。
 この関数はドキュメントに登録されていないマテリアルにのみ有効で、ドキュメントに登録されたマテリアルを消滅させる場合はMQDocument::DeleteMaterial()を使用しなければなりません。


UINT MQMaterial::GetUniqueID(void);

戻り値
ユニークID

(new in Rev2.40)
 オブジェクトのユニークIDを取得します。
 ユニークIDはMQDocument::AddMaterial()でドキュメントに登録した時点で割り当てられます。


void MQMaterial::GetName(char *buffer, int size);

buffer
名前を格納するバッファ
size
バッファの大きさ

 マテリアルの名前をbufferへ格納します。


int MQMaterial::GetShader(void);

戻り値
シェーダの種類
[MQMATERIAL_SHADER_CLASSIC] Classicシェーダ
[MQMATERIAL_SHADER_CONSTANT] Constantシェーダ
[MQMATERIAL_SHADER_LAMBERT] Lambertシェーダ
[MQMATERIAL_SHADER_PHONG] Phongシェーダ
[MQMATERIAL_SHADER_BLINN] Blinnシェーダ

(new in Rev2.30)
 マテリアルのシェーダの種類を取得します。


int MQMaterial::GetVertexColor(void);

戻り値
頂点カラーの種類
[MQMATERIAL_VERTEXCOLOR_DISABLE] 無効
[MQMATERIAL_VERTEXCOLOR_DIFFUSE] 拡散光への頂点カラー

(new in Rev2.30)
 頂点カラーの種類を取得します。


MQColor MQMaterial::GetColor(void);

戻り値
値を格納するポインタ

 マテリアルの基本色を取得します。


float MQMaterial::GetAlpha(void);
float MQMaterial::GetDiffuse(void);
float MQMaterial::GetAmbient(void);
float MQMaterial::GetEmission(void);
float MQMaterial::GetSpecular(void);
float MQMaterial::GetPower(void);

戻り値
属性の設定値

 マテリアルの不透明度(Alpha)、拡散光(Diffuse)、環境光(Ambient)、自己照明(Emission)、反射光(Specular)、反射の強さ(Power)を取得します。
 戻り値としては0から1(Powerのみ0から100)の値が返されます。


void MQMaterial::GetTextureName(char *buffer, int size);
void MQMaterial::GetAlphaName(char *buffer, int size);
void MQMaterial::GetBumpName(char *buffer, int size);

buffer
名前を格納するバッファ
size
バッファの大きさ

 マテリアルに割り当てられている模様(Texture)、透明(Alpha)、凸凹(Bump)マッピングのファイル名を相対パスでbufferへ格納します。(元々絶対パスで指定されている場合は絶対パスが返る)
 得られたファイル名を絶対パスに変換するにはMQDocument::FindMappingFile()を使用します。


int MQMaterial::GetMappingType(void);

戻り値
マッピングの投影方式
[MQMATERIAL_PROJECTION_UV] UVマッピング
[MQMATERIAL_PROJECTION_FLAT] 平面マッピング
[MQMATERIAL_PROJECTION_CYLINDER] 円筒マッピング
[MQMATERIAL_PROJECTION_SPHERE] 球面マッピング

(new in Rev2.30)
 マッピングの投影方式を取得します。


MQPoint MQMaterial::GetMappingPosition(void);

戻り値
マッピングの投影位置

(new in Rev2.30)
 マッピングの投影位置を取得します。


MQPoint MQMaterial::GetMappingScaling(void);

戻り値
マッピングの投影拡大率

(new in Rev2.30)
 マッピングの投影拡大率を取得します。


MQAngle MQMaterial::GetMappingAngle(void);

戻り値
マッピングの投影回転角

(new in Rev2.30)
 マッピングの投影回転角を取得します。


void MQMaterial::SetName(const char *name);

name
名前が格納されているバッファ

 マテリアルの名前をセットします。


void MQMaterial::SetShader(int shader);

shader
シェーダの種類
[MQMATERIAL_SHADER_CLASSIC] Classicシェーダ
[MQMATERIAL_SHADER_CONSTANT] Constantシェーダ
[MQMATERIAL_SHADER_LAMBERT] Lambertシェーダ
[MQMATERIAL_SHADER_PHONG] Phongシェーダ
[MQMATERIAL_SHADER_BLINN] Blinnシェーダ

(new in Rev2.30)
 マテリアルのシェーダの種類を設定します。


void MQMaterial::SetVertexColor(int value);

value
頂点カラーの種類
[MQMATERIAL_VERTEXCOLOR_DISABLE] 無効
[MQMATERIAL_VERTEXCOLOR_DIFFUSE] 拡散光への頂点カラー

(new in Rev2.30)
 頂点カラーの種類を設定します。


void MQMaterial::SetColor(MQColor color);

color
色データ

 マテリアルの基本色を設定します。


void MQMaterial::SetAlpha(float value);
void MQMaterial::SetDiffuse(float value);
void MQMaterial::SetAmbient(float value);
void MQMaterial::SetEmission(float value);
void MQMaterial::SetSpecular(float value);
void MQMaterial::SetPower(float value);

value
パラメータ

 マテリアルの不透明度(Alpha)、拡散光(Diffuse)、環境光(Ambient)、自己照明(Emission)、反射光(Specular)、反射の強さ(Power)を取得します。
 valueは0から1(Powerのみ0から100)の値でなければなりません。


void MQMaterial::SetTextureName(const char *name);
void MQMaterial::SetAlphaName(const char *name);
void MQMaterial::SetBumpName(const char *name);

name
名前が格納されているバッファ

 マテリアルに模様(Texture)、透明(Alpha)、凸凹(Bump)マッピングのファイル名を相対パスで割り当てます。


void MQMaterial::SetMappingType(int type);

type
マッピングの投影方式
[MQMATERIAL_PROJECTION_UV] UVマッピング
[MQMATERIAL_PROJECTION_FLAT] 平面マッピング
[MQMATERIAL_PROJECTION_CYLINDER] 円筒マッピング
[MQMATERIAL_PROJECTION_SPHERE] 球面マッピング

(new in Rev2.30)
 マッピングの投影方式を設定します。


void MQMaterial::SetMappingPosition(MQPoint pos);

pos
マッピングの投影位置

(new in Rev2.30)
 マッピングの投影位置を設定します。


void MQMaterial::SetMappingScaling(MQPoint scale);

scale
マッピングの投影拡大率

(new in Rev2.30)
 マッピングの投影拡大率を設定します。


void MQMaterial::SetMappingAngle(MQAngle angle);

angle
マッピングの投影回転角

(new in Rev2.30)
 マッピングの投影回転角を設定します。