G3*_Scale

構文

#include <iris/gx/g3imm.h>
#include <iris/gx/g3b.h>
#include <iris/gx/g3c.h>

void G3_Scale(fx32 x, fx32 y, fx32 z);
void G3B_Scale(GXDLInfo* info, fx32 x, fx32 y, fx32 z);
void G3C_Scale(GXDLInfo* info, fx32 x, fx32 y, fx32 z);
void G3BS_Scale(GXDLInfo* info, fx32 x, fx32 y, fx32 z);
void G3CS_Scale(GXDLInfo* info, fx32 x, fx32 y, fx32 z);

引数

info コマンドリスト情報
x x軸方向のスケール
y y軸方向のスケール
z z軸方向のスケール

返り値

なし。

説明

カレント行列にスケール(拡大縮小)行列を左から乗算します。行列の各要素は、符号付き固定小数点数で、符号+整数部19ビット+ 小数部12ビットとなります。
カレント行列をCとすると、新しいカレント行列Cnewは以下の式のとおりです。



G3_Scaleコマンドは、行列モードコマンドで Position・Vector 同時設定モードが指定されていた場合でも位置座標(Position)行列のみに乗算が適用されます。これは方向ベクトル(Vector)行列へ適用するとベクトルの方向や長さが変化することでライティングの結果が異なってしまうので、それを避けるためです。

参照

G3*_MtxMode, G3*_Identity, G3*_LoadMtx43, G3*_LoadMtx44, G3*_MultMtx43, G3*_MultMtx44, G3*_MultMtx33, G3*_PushMtx, G3*_PopMtx, G3*_StoreMtx, G3*_RestoreMtx, G3*_Translate

履歴

Ver. 2004/01/19