G3*_Normal

構文


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

void G3_Normal(fx16 x, fx16 y, fx16 z);
void G3B_Normal(GXDLInfo* info, fx16 x, fx16 y, fx16 z);
void G3C_Normal(GXDLInfo* info, fx16 x, fx16 y, fx16 z);
void G3BS_Normal(GXDLInfo* info, fx16 x, fx16 y, fx16 z);
void G3CS_Normal(GXDLInfo* info, fx16 x, fx16 y, fx16 z);

引数

info コマンドリスト情報
x 法線ベクトルのx座標
y 法線ベクトルのy座標
z 法線ベクトルのz座標

返り値

なし。

説明

法線ベクトルを設定します。x,y,zはそれぞれ、引数としては、-FX16_ONE以上、FX16_ONE-1以下を取ることができます。内部で符号+小数部9ビットの固定小数に変換されるので、-1.0(0xF000)以上0.998(0x0FF8)以下の値としてハードウェアに渡されます。ハードウェアによるベクトルの正規化は行われませんので、単位ベクトルを設定してください。

ライティングによってい求められた頂点カラーは、次の G3*_Color, G3*_Normal, G3*_MaterialColorDiffAmb(頂点カラーセットフラグ)のいずれかのコマンドによってカレント頂点カラーが更新されるまで有効です。
このため、実用上は複数の頂点で法線ベクトルを共有することが出来ます。なお、ライティングはNormal コマンド実行時のみ行われます。従って、ライトのON/OFF 切り替えや、ライトもしくはマテリアルのパラメータ変更後、その効果を頂点カラーへ反映させるためには Normal コマンドを再発行する必要があります。

参照

G3*_Color, G3*_MaterialColorDiffAmb

履歴

Ver. 2004/01/19