##### 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()関数で登録したユーザー定義ストリップコンテキストを使用する場合は、次の値を指定します。

> - KM_STRIPCONTEXT_USER00
> - KM_STRIPCONTEXT_USER01
> - KM_STRIPCONTEXT_USER02
> - KM_STRIPCONTEXT_USER03
> - KM_STRIPCONTEXT_USER04
> - KM_STRIPCONTEXT_USER05
> - KM_STRIPCONTEXT_USER06
> - KM_STRIPCONTEXT_USER07
> - KM_STRIPCONTEXT_USER08
> - KM_STRIPCONTEXT_USER09

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

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

> - VertexType00〜08,15,16を使用する場合 KMSTRIPCONTEXT構造体へのポインタを指定します。
> - VertexType09〜14(2パラメータ)を使用する場合 KMTWOVOLUMESTRIPCONTEXT構造体へのポインタを指定します。

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

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

> メンバ | 設定値
> 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