GeometryTransferEngine: 3つの(Z)値の平均

GTE_AverageZ3();

この関数は、3つのz値の平均を計算し、OTソートの形式(*1/4)で返します。 順序テーブルにポリゴンを割り当てるために、平均のz値を使用することができます。

AverageZ = ( ( Z0 + Z1 + Z2 ) / 3 ) >> 2

[GTEのコマンド]



オペコード: 0x158002D
入力: SZ1,SZ2,SZ3
出力: OTZ

動作するサンプルコード:
long GTE_AverageZ3(long z0,long z1,long z2)
{
asm
("
 mtc2 a0 , C2_SZ1  # SZ1 = z0 ;
 mtc2 a1 , C2_SZ2  # SZ2 = z1 ;
 mtc2 a2 , C2_SZ3  # SZ3 = z2 ;
 nop
 nop
 
 c2 0x158002D
 mfc2 v0 , C2_OTZ  # return AverageZ
");
}
[開く] "Coding & Hacking"-サイトに戻る  1