G3*_PolygonAttr

構文

#include <iris/g3.h>

void G3_PolygonAttr(G3_POLYGON_ATTR_L light, G3_POLYGON_ATTR_POLYMODE polyMode, G3_POLYGON_ATTR_CULL cullMode, int polyognID, int alpha, int misc);
void G3B_PolygonAttr(G3DLInfo* info, G3_POLYGON_ATTR_POLYMODE polyMode, G3_POLYGON_ATTR_CULL cullMode, int polyognID, int alpha, int misc);
void G3C_PolygonAttr(G3DLInfo* info, G3_POLYGON_ATTR_POLYMODE polyMode, G3_POLYGON_ATTR_CULL cullMode, int polyognID, int alpha, int misc);
void G3BS_PolygonAttr(G3DLInfo* info, G3_POLYGON_ATTR_POLYMODE polyMode, G3_POLYGON_ATTR_CULL cullMode, int polyognID, int alpha, int misc);
void G3CS_PolygonAttr(G3DLInfo* info, G3_POLYGON_ATTR_POLYMODE polyMode, G3_POLYGON_ATTR_CULL cullMode, int polyognID, int alpha, int misc);

引数

info コマンドリスト情報
light どのライトを点灯するかを指定します。
polyMode ポリゴンモードを指定します。
cullMode どの面をカリングするかを指定します。
polygonID ポリゴンIDを指定します
alpha α値を指定します。
misc その他のポリゴン属性を指定するためのビットフィールドです。G3BIT_POLYGON_ATTR_MISCの値をorで組みあわせてください。

返り値

なし。

説明

ポリゴン関連属性値を設定します。

ポリゴンID はレンダリングエンジンにおいて不透明ポリゴンと半透明ポリゴンの描画時に、それぞれ別々のアトリビュートバッファへ格納されます。格納されたポリゴンID は、半透明ポリゴン、シャドウポリゴンおよびエッジマーキング描画時に使用されます。

アルファ値は、1〜30 の場合は半透明ポリゴン、31 の場合は不透明ポリゴン、0 の場合はワイヤーフレーム表示となります。

フォグイネーブルフラグは、イネーブルの場合、レンダリングエンジンでフォグブレンディングが行われます。

デプステスト条件は、1に設定されている場合、フラグメントのデプス値がデプスバッファのデプス値と等しい場合に描画します。
0に設定されている場合、フラグメントのデプス値はデプスバッファのデプス値よりも小さい場合に描画します。

ポリゴン表示指定jは、1ドットポリゴンの表示指定に関する設定で、0の場合、1ドットになったら消去し、1の場合、1ドットになっても表示します。

FAR面交差ポリゴン表示指定は、0 の場合FAR面と交差したら消去し、1 の場合FAR面と交差したらクリッピングします。FAR面でクリッピングを行う場合、ジオメトリエンジンの負荷が大きくなります。

半透明ポリゴンのデプス値更新イネーブルフラグは、α値が1〜30 のポリゴンを描画する際、デプスバッファを更新するかどうかを選択します。1を設定すると更新しますが、こうすることにより半透明ポリゴンの描画領域にフォグがかかりすぎる状況を改ざんできる場合があります。ただし背後のエッジマーキングが正しく描画されないことがあります。

ポリゴン描画面指定は頂点を反時計回りに辿った面を表(おもて)面とし、表面の描画指定、裏面の描画指定を行います。

ポリゴンモードは、モジュレーションモード、デカルモード、トゥーン/ハイライトシェーディング、シャドウポリゴンの中から選択します。トゥーンおよびハイライトシェーディングに使用するテーブルは共通であるため、同一の描画フレーム内において両者を混在させることは出来ません。DISP3DCNT レジスタによってどちらか一方を選択してください。

ライトイネーブルフラグは、ライト0〜3について個別に設定するフラグです。1に設定されるとイネーブルとなります。

PolygonAttr コマンドの設定値は Beginコマンド発行時に有効になり、その後に続く頂点の属性として使用されます。このため、PolygonAttr コマンドはBegin-End 間では発行しないで下さい、

参照

G3*_End
G3*_VertexShort

G3*_VertexXY
G3*_VertexXZ
G3*_VertexYZ
G3*_VertexDiff
G3*_Color
G3*_Normal
G3*_TexCoord

履歴

2003/12/01 初版