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へ必要なパス数のみを返します。
- SRCBlendingMode = KM_SRCALPHA
- DSTBlendingMode = KM_INVSRCALPHA
引数pPassに、Kamuiはここに設定されたレンダリング指定で必要となるマルチパス数を返します。