Kamui2 Library - ユーティリティ関連関数

kmuGeneratePassTable

マルチパス用VERTEXCONTEXTの自動生成

書式

KMUPASSSTATUS kmuGeneratePassTable( pVertexContext, nNumContext, ppVertexContextTable, pPass )
PKMVERTEXCONTEXT pVertexContext
KMUINT32 nNumContext
PPKMVERTEXCONTEXT ppVertexContextTable
PKMUINT32 pPass

引数

pVertexContext   (入力)レンダリング条件を指定するコンテキストへのポインタ
nNumContext   (入力)準備したpVertexContextTableのエントリ数(パス数)
ppVertexContextTable   (出力)マルチパス用コンテキストを受け取る構造体のポインタ配列へのポインタ
pPass   (出力)取得するマルチパス数を格納する変数

戻り値

KMU_PASS_OK   成功
KMU_PASS_ERROR_VERTEXCONTEXT   VERTEXCONTEXTが不正(NULL)です
KMU_PASS_ERROR_VERTEXCONTEXT_PASS   指定したパス数では不足しています

解説

ユーザーによって設定されたレンダリング指定(コンテキスト)をもとに、マルチパス(Trilinear)の各パスで必要なコンテキストを生成します。

マルチパスが必要なVERTEXCONTEXT設定(トライリニアフィルタ使用時)において、ユーザーがVERTEXCONTEXTを各パスで設定変更しなくて済むように、自動生成する関数です。

引数nNumContextのエントリ数(パス数)が実際に必要なパス数より小さい場合は、 KMU_PASS_ERROR_VERTEXCONTEXT_PASSを返します。 この場合はpPassへ必要なパス数のみを返して終了します。 ここにトライリニアフィルタ使用時の1パス目のVERTEXCONTEXTを入力すると、 その設定値より各パスで必要なVERTEXCONTEXTを生成します (OpaquePolygonの場合は2パス、TransPolygonの場合は3パスとなります)。

TransPolygonでトライリニアフィルタ使用時、3パス目のBlendingModeの設定は任意ですが、 この関数を使用した場合には下記の値を設定します。

引数ppVertexContextTableには、生成されたマルチパス用コンテキストを受け取るための、 VERTEXCONTEXTへのポインタの配列へのポインタを設定します。 ここにNULLが指定された場合はpPassへ必要なパス数のみを返します。

引数pPassに、Kamuiはここに設定されたレンダリング指定で必要となるマルチパス数を返します。


kmuGeneratePassTable
COPYRIGHT © NEC Corporation / © SEGA ENTERPRISES, LTD., 1998-2000