gSPSetGeometryMode.htm 4.49 KB
<HTML>

<HEAD>

<TITLE>HTML 文書</TITLE>

<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0j">
</HEAD>

<BODY>

<P>
<B><FONT FACE="Arial">gSPGeometryMode(3P)</FONT><FONT FACE="MS Pゴシック">  <B>
<BR>
</B></FONT></B>
<P>
<B>関数名<B>  <BR>
</B></B>
<P>
gSPSetGeometryMode, gsSPSetGeometryMode, gSPClearGeometryMode,
gsSPClearGeometryMode
<P>
→ ジオメトリパイプラインモードのセット、クリア。
<BR>

<P>
<B>構文<BR>
</B>
<P>
#include &quot;gbi.h&quot;
<P>
gSPSetGeometryMode(Gfx *gdl, unsigned int mode)
<P>
gsSPSetGeometryMode(unsigned int mode)
<P>
gSPClearGeometryMode(Gfx *gdl, unsigned int mode)
<P>
gsSPClearGeometryMode(unsigned int mode)<BR>

<P>
<B>パラメータ <BR>
</B>
<P>
<B>*gdl</B> グラフィックディスプレイリストポインタ。
<P>
<B>mode</B> ジオメトリパイプラインモード。モードはそれぞれbitORされセットあるいは
クリアされます。
<P>
<B>G_SHADE</B>
<P>
RSPはトライアングルの頂点カラーを計算します。トライアングルカ
ラーの指定でプリミティブカラーを使用しているときは,このモード
はイネーブルにしないでください。
<P>
<B>G_LIGHTING</B>
<P>
ライティング計算をイネーブルにします。
<P>
<B>G_SHADING_SMOOTH</B>
<P>
グローシェーディングをイネーブルにします。これがイネーブルになってい
ない場合は、トライアングルカラーはフラットシェーディングになり
ます。その場合、トライアングルのカラーはその中の1頂点カラーで決定されま
す。<a href="../gsp/gSP1Triangle.htm">gSP1Triangle(3P)</a>を参照してください。G_SHADEも一緒にセットしなければなりません。
<P>
<B>G_ZBUFFER</B>
<P>
Zバッファの計算をイネーブルにします。(同時にフレームバッファのZバッファパラメータ も設定することを必要があることに注意してください。) 
<P>
<B>G_TEXTURE_GEN</B>
<P>
テクスチャs, t座標の自動生成をイネーブルにします。。法線ベクトルに基づいた球形マッピ
ングが使用されます。
<P>
<B>G_TEXTURE_GEN_LINEAR</B>
<P>
テクスチャs, t座標の自動生成をイネーブルにします。
<P>
<B>G_CULL_FRONT</B>
<P>
フロントフェイスカリングをイネーブルにします。
<P>
<B>G_CULL_BACK</B>
<P>
バックフェイスカリングをイネーブルにします。
<P>
<B>G_CULL_BOTH</B>
<P>
フロント及びバックフェイスカリングをイネーブルにします。
<P>
<B>G_FOG</B>
<P>
頂点アルファ座標のフォグパラメータの生成をイネーブルにします。<BR>

<P>
<B>説明</B> <BR>

<P>
<b>gSPSetGeometryMode</b>コマンドは、ジオメトリパイプラインモードをセットするために使用されます。
<BR>

<P>
<b>gSPClearGeometryMode</b>は、これらのモードをクリアします。 <BR>

<P>
<B>注意<BR>
</B>
<P>
各々のコマンドが用意されているRSP'レンダリングステート'の他の要素があります。その場合は、ステートの変更が単一ビットでできないような複雑なものであったり、より最適化するために別のコマンドでRSPジオメトリエンジンを設定するためです。
<BR>

<P>
<B>参照 <BR>
</B>
<P>
<a href="../gsp/gSPFogPosition.htm">gSPFogPosition(3P)</a><a href="../gdp/gDPSetPrimColor.htm">gDPSetPrimColor(3P)<htm><a href="../gsp/gSP1Triangle.htm">gSP1Triangle(3P)</a> 
<BR>
<hr size=1>
<img src="../Images/f3dex.gif">
<p>
<blink><b>F3DEXマイクロコード群で追加、変更された機能</b></blink>
<p>
<pre><font size=4>
gSPSetGeometryMode(Gfx *gdl, unsigned int mode)
gsSPSetGeometryMode(         unsigned int mode)
</font></pre>
<p>
<blockquote>
 modeとしてG_CLIPPINGが追加されました。このフラグは、<a href="../ucode/gspF3DEX.htm">F3DLX</a>及び<a href="../ucode/gspF3DEX.htm">F3DLX.NoN</a>でのみ有効です。その他のマイクロコードではこのフラグは無視されます。
<p>
 これがクリアされていると、クリッピング処理を行いません。これにより、速度の向上が期待できます。
<p>
 具体的には、それ以降の<a href="../gsp/gSPVertex.htm">gSPVertex(3P)</a>においてクリップ判定に必要なデータを計算しなくなります。また、<a href="../gsp/gSP1Triangle.htm">gSP1Triangle(3P)</a><a href="../gsp/gSP2Triangles.htm">gSP2Triangles(3P)</a><a href="../gsp/gSP1Quadrangle.htm">gSP1Quadrangle(3P)</a>等の命令においては、クリッピング処理を行わなくなります。
<p>
 よって、以下のディスプレイリストでは、クリップに必要なデータを取得できないので、<a href="../gsp/gSP1Triangle.htm">gsSP1Triangle</a>の動作は保証できません。ご注意ください。
<p>
<pre><font size=4>
	gsSPClearGeometryMode(G_CLIPPING);		//クリッピングOFF
	gsSPVertex(v, 3, 0)				//3頂点ロード
	gsSPSetGeometryMode(G_CLIPPING);		//クリッピングON
	gsSP1Triangle(0, 1, 2, 0);			//TRI描画
</font></pre>
<p>
 同様にクリッピングOFF時にロードした頂点を<a href="../gsp/gSPCullDisplayList.htm">gSPCullDisplayList(3P)</a>で指定しても、正常に動作しませんので、ご注意ください。
<p>
 G_CLIPPINGは初期状態でONになっています。

</blockquote>


</BODY>

</HTML>