Kamui2 Library - ストリップデータ構築関数

kmInitStripContext

ストリップコンテキストの初期化

書式

KMSTATUS kmInitStripContext( dwIndex, pStripContext )
KMDWORD dwIndex
PKMVOID pStripContext

引数

dwIndex   (入力)インデックス
pStripContext   (出力)ストリップコンテキストへのポインタ

戻り値

KMSTATUS_SUCCESS   成功
KMSTATUS_INVALID_ADDRESS   pStripContextが不正(NULL)
KMSTATUS_INVALID_SETTING   pStripContextのサイズ設定が不正

解説

KMSTRIPCONTEXT構造体またはKMTWOVOLUMESTRIPCONTEXT構造体で設定されるストリップコンテキストを初期化します。

kmRegisterDefaultStripContext()関数でユーザー登録したストリップコンテキストを使用する方法とKamui2のシステムが提供する基本ストリップコンテキストを使用する方法があります。

引数 dwIndexには、使用するインデックスを設定します。 システムで用意している基本ストリップコンテキストを使用する場合で、Polygonの場合は下記の設定フラグとListTypeのOR設定で指定します。

 定義   意味 
 KM_STRIPCONTEXT_SYS_FLAT   FlatShadingの基本設定 
 KM_STRIPCONTEXT_SYS_GOURAUD   GouraudShadingの基本設定 


(例)
KM_STRIPCONTEXT_SYS_GOURAUD | KM_OPAQUE_POLYGON
OpaquePolygonのGouraudShading基本設定を使用します。

システムで用意している基本ストリップコンテキストを使用する場合で、 Modifierの場合は、下記の設定フラグとListTypeのOR設定で指定します。

 定義   意味 
 KM_STRIPCONTEXT_SYS_NORMAL_MODIFIER   通常(最初と最後を除く)のModifier基本設定 
 KM_STRIPCONTEXT_SYS_INCLUDE_FIRST_MODIFIER   最初のINCLUDE用Modifier基本設定 
 KM_STRIPCONTEXT_SYS_EXCLUDE_FIRST_MODIFIER   最初のEXCLUDE用Modifier基本設定 
 KM_STRIPCONTEXT_SYS_INCLUDE_LAST_MODIFIER   最後のINCLUDE用Modifier基本設定 
 KM_STRIPCONTEXT_SYS_EXCLUDE_LAST_MODIFIER   最後のEXCLUDE用Modifier基本設定 


(例)
KM_STRIPCONTEXT_SYS_INCLUDE_LAST_MODIFIER | KM_OPAQUE_MODIFIER
OpaqueModifierの最後のINCLUDE用Modifier基本設定を使用します。

kmRegisterDefaultStripContext()関数で登録したユーザー定義ストリップコンテキストを使用する場合は、次の値を指定します。

引数 pStripContextには、使用するストリップコンテキスト構造体へのポインタを指定します。

使用するVertexTypeによって下記のようになります。

■基本ストリップコンテキストの設定

システムで用意している基本ストリップコンテキストの設定を下記に示します。

 メンバ   設定値 
 pStripContext->StripControl.nListType   指定したListType設定 
 pStripContext->StripControl.nUserClipMode   KM_USERCLIP_DISABLE 
 pStripContext->StripControl.nShadowMode   KM_NORMAL_POLYGON 
 pStripContext->StripControl.nIntensityMode   KM_INTENSITY 
 pStripContext->StripControl.bOffset   KM_FALSE 
 pStripContext->StripControl.bGouraud   指定したShadingMode設定 
 pStripContext->ObjectControl.nDepthCompare   KM_GREATER 
 pStripContext->ObjectControl.nCullingMode   KM_NOCULLING 
 pStripContext->ObjectControl.bZWriteDisable   KM_FALSE 
 pStripContext->ObjectControl.bDCalcControl   KM_FALSE 
 pStripContext->ObjectControl.dwModifierInstruction   指定したModifier設定 

KM_INTENSITY_BASE/KM_INTENSITY_BASE_2ND/KM_INTENSITY_OFFSET共通

 メンバ   設定値 
 pStripContext->type.intensity.Face[XX].fAlpha   1.0f 
 pStripContext->type.intensity.Face[XX].fRed   1.0f 
 pStripContext->type.intensity.Face[XX].fGreen   1.0f 
 pStripContext->type.intensity.Face[XX].fBlue   1.0f 

KM_IMAGE_PARAM1/KM_IMAGE_PARAM2共通
 メンバ   設定値 
 pStripContext->ImageControl[XX].nSRCBlendingMode   KM_ONE(TransPolygon使用時はKM_SRCALPHA) 
 pStripContext->ImageControl[XX].nDSTBlendingMode   KM_ZERO(TransPolygon使用時はKM_INVSRCCOLOR) 
 pStripContext->ImageControl[XX].bSRCSelect   KM_FALSE 
 pStripContext->ImageControl[XX].bDSTSelect   KM_FALSE 
 pStripContext->ImageControl[XX].nFogMode   KM_NOFOG 
 pStripContext->ImageControl[XX].bColorClamp   KM_FALSE 
 pStripContext->ImageControl[XX].bUseAlpha   KM_FALSE(TransPolygon使用時はKM_TRUE) 
 pStripContext->ImageControl[XX].bIgnoreTextureAlpha   KM_FALSE 
 pStripContext->ImageControl[XX].nFlipUV   KM_NOFLIP 
 pStripContext->ImageControl[XX].nClampUV   KM_NOCLAMP 
 pStripContext->ImageControl[XX].nFilterMode   KM_POINT_SAMPLE 
 pStripContext->ImageControl[XX].bSuperSampleMode   KM_FALSE 
 pStripContext->ImageControl[XX].dwMipmapAdjust   KM_MIPMAP_D_ADJUST_1_00 
 pStripContext->ImageControl[XX].nTextureShadingMode   KM_MODULATE(TransPolygon使用時はKM_MODULATE_ALPHA) 
 pStripContext->ImageControl[XX].dwPaletteBank   0 
 pStripContext->ImageControl[XX].pTextureSurfaceDesc   NULL 


参照

KMSTRIPCONTEXT()
 ストリップコンテキスト

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