G3*_BoxTest

構文

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

void G3_BoxTest(const GXBoxTestParam * box);

// 以下ディスプレイリスト(コマンド列)作成用API
void G3BS_BoxTest(GXDLInfo * info, const GXBoxTestParam * box);
void G3B_BoxTest(GXDLInfo * info, const GXBoxTestParam * box);
void G3CS_BoxTest(GXDLInfo * info, const GXBoxTestParam * box);
void G3C_BoxTest(GXDLInfo * info, const GXBoxTestParam * box);

引数

info コマンドリスト情報
box テストするボックスの座標データへのポインタ

返り値

なし

説明

引数に与えられたBoxにカレント行列を適応した結果が視体積に入るかどうかをテストします。*boxにボックスのデータをセットします。結果はG3X_GetBoxTestResult() で取得します。

※この関数を呼ぶ際には、あらかじめポリゴン属性の「FAR面交差クリッピングフラグ」と「1ドットポリゴン表示フラグ」を1に設定した状態にしておいてください。いずれかのフラグが0の場合正しいテスト結果が得られない場合があります。

ポリゴン属性は、Beginコマンドが発行された時点で反映されますので、

PolygonAttr -> Begin -> End -> BoxTest

の手順でBoxTestをおこなう必要があります。

typedef union
{
    u32 val[3];
    struct
    {
        fx16 x;      // 基準頂点のx座標
        fx16 y;      // 基準頂点のy座標
        fx16 z;      // 基準頂点のz座標
        fx16 width;  // テストする直方体の横幅
        fx16 height; // テストする直方体の高さ
        fx16 depth;  // テストする直方体の奥行き
    };
}
GXBoxTestParam;

参照

G3_PositionTest, G3_VectorTest, G3X_GetBoxTestResult

履歴

Ver. 2004/07/29 ポリゴン属性の設定に関する記述追加
Ver. 2004/01/19