##### 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の設定は任意ですが、 この関数を使用した場合には下記の値を設定します。

> - SRCBlendingMode = KM_SRCALPHA
> - DSTBlendingMode = KM_INVSRCALPHA

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

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

kmuGeneratePassTable

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