Kamui2 Library - 構造体/その他のデータ型

KMIMAGECONTROL

イメージコントロール構造体

定義

typedef struct _tagKMIMAGECONTROL 
{ 
     KMBLENDINGMODE nSRCBlendingMode; 
     KMBLENDINGMODE nDSTBlendingMode; 
     KMBOOLEAN bSRCSelect; 
     KMBOOLEAN bDSTSelect; 
     KMFOGMODE nFogMode; 
     KMBOOLEAN bColorClamp; 
     KMBOOLEAN bUseAlpha; 
     KMBOOLEAN bIgnoreTextureAlpha; 
     KMFLIPMODE nFlipUV; 
     KMCLAMPMODE nClampUV; 
     KMFILTERMODE nFilterMode; 
     KMBOOLEAN bSuperSampleMode; 
     KMDWORD dwMipmapAdjust; 
     KMTEXTURESHADINGMODE nTextureShadingMode; 
     KMDWORD dwPaletteBank; 
     PKMSURFACEDESC pTextureSurfaceDesc; 
}KMIMAGECONTROL,*PKMIMAGECONTROL; 

メンバ

NSRCBlendingMode   ソースのブレンディングモード
NDSTBlendingMode   ディスティネーションのブレンディングモード
BSRCSelect   セカンダリーアキュムレーションバッファ選択フラグ
bDSTSelect   セカンダリーアキュムレーションバッファ選択フラグ
nFogMode   フォグモード
bColorClamp   カラークランプモードのフラグ
bUseAlpha   アルファのフラグ
bIgnoreTextureAlpha   テクスチャアルファのフラグ
NFlipUV   テクスチャフリップモード
nClampUV   テクスチャクランプモード
nFilterMode   フィルターモード
bSuperSampleMode   スーパーサンプルモードのフラグ
dwMipmapAdjust   ミップマップ補正値
NtextureShadingMode   テクスチャシェーディングモード
dwPaletteBank   パレットバンク番号
pTextureSurfaceDesc   テクスチャサーフェスデスクプリタ

解説

メンバ nSRCBlendingModeは、ソース側(ポリゴン)のブレンディングモードを格納します。

メンバ nDSTBlendingModeは、ディスティネーション側(ピクセルバッファ)のブレンディングモードを格納します。ピクセルのブレンディング処理はSRCおよびDSTのRGBA値が混合されDSTに書き戻されます。

DST = SRC x SRC ブレンディング係数 + DST x DST ブレンディング係数

 定義   意味(RGBAブレンディング係数) 
 KM_BOTHINVSRCALPHA   NSRCBlendingMode をKM_INVSRCALPHA 、 NDSTBlendingMode をKM_SRCALPHAにします 
 KM_BOTHSRCALPHA   NSRCBlendingMode をKM_SRCALPHA 、 NDSTBlendingMode をKM_INVSRCALPHAにします 
 KM_DESTALPHA   (Ad, Ad, Ad, Ad) 
 KM_DESTCOLOR   ブレンディング結果を(Rd, Gd, Bd, Ad)にします。 NSRCBlendingModeでのみ有効。 
 KM_INVDESTALPHA   (1-Ad, 1-Ad, 1-Ad, 1-Ad) 
 KM_INVDESTCOLOR   ブレンディング結果を(1-Rd, 1-Gd, 1-Bd, 1-Ad)にします。 NSRCBlendingModeでのみ有効。 
 KM_INVSRCALPHA   (1-As, 1-As, 1-As, 1-As) 
 KM_INVSRCCOLOR   ブレンディング結果を(1-Rs, 1-Gs, 1-Bs, 1-As)にします。 nDSTBlendingModeでのみ有効。 
 KM_SRCALPHA   (As, As, As, As) 
 KM_SRCCOLOR   ブレンディング結果を(Rs, Gs, Bs, As)にします。 nDSTBlendingModeでのみ有効。 
 KM_ONE   (1, 1, 1, 1)  
 KM_ZERO   (0, 0, 0, 0) 

メンバ bSRCSelectおよび bDSTSelectは、 Tri-LinearポリゴンおよびBump Mappied +Texturedポリゴンを半透明ポリゴンにする場合にのみ使用します。 通常はFALSEを指定してください。

メンバ nFogModeには、フォグモードを格納します。

 定義   意味 
 KM_FOGTABLE     フォグテーブルを使用します。 
 KM_FOGVERTEX     Offset Colorのアルファ値をフォグ値とします。Offset Colorの無い頂点データでは意味を持ちません。 
 KM_NOFOG     フォグを使用しません。 
 KM_FOGTABLE_2     ポリゴンのRGBA値をそれぞれフォグのRGBA値に置き換えます。 

メンバ bColorClampは、カラークランプを行う場合にTRUEを指定します。

メンバ bUseAlphaは、アルファ係数を有効にする場合にTRUEを指定します。

メンバ bIgnoreTextureAlphaは、アルファ付きテクスチャのアルファ係数を無効にしたい場合にTRUEを指定します。

メンバ nFlipUVには、 テクスチャーのフリップモードを格納します。

 定義   意味 
 KM_NOFLIP   フリップしない 
 KM_FLIP_V   Vフリップを行う 
 KM_FLIP_U   Uフリップを行う 
 KM_FLIP_UV   UV共にのフリップを行う 

メンバ nClampUVには、 テクスチャークランプモードを格納します。

 定義   意味 
 KM_NOCLAMP   クランプしない 
 KM_CLAMP_V   Vクランプを行う 
 KM_CLAMP_U   Uクランプを行う 
 KM_CLAMP_UV   UV共にクランプを行う 

nFilterModeには、 テクスチャーのフィルターモードを格納します。

 定義   意味 
 KM_POINT_SAMPLE   テクスチャーのフィルタリングを行わない 
 KM_BILINEAR   バイリニアフィルタリングを行う 
 KM_TRILINEAR_A   トライリニアフィルタリング使用時に「PASS A」ポリゴンであることを指定する 
 KM_TRILINEAR_B   トライリニアフィルタリング使用時に「PASS B」ポリゴンであることを指定する 

メンバ bSuperSampleModeは、テクスチャーのスーパーサンプル(Anisotropic Filter)を有効にする場合にTRUEを指定します。 メンバ dwMipmapAdjustには、 テクスチャーのMIPMAPレベル係数に乗算される値を4ビット固定少数点値(整数2ビット、少数2ビット)で格納する。通常は1。0(0100)を指定します。0(0000)は指定してはいけません。 メンバ nTextureShadingModeには、 テクスチャーシェーディングモードを格納します。

 定義   意味 
 KM_DECAL    PIXRGB = TEXRGB + OFFSETRGB PIXA = TEXA  
 KM_MODULATE   テクスチャカラー値にShadingカラー値を乗算する。テクスチャα値はShadingα値に置き換える。PIXRGB = COLRGB * TEXRGB + OFFSETRGBPIXA = TEXA 
 KM_DECAL_ALPHA    テクスチャカラー値を、テクスチャα値にしたがってShadingカラー値とブレンドする。PIXRGB = (TEXRGB * TEXA) + (COLRGB *(1- TEXA) ) + OFFSETRGBPIXA = COLA 
 KM_MODULATE_ALPHA    テクスチャカラー値にShadingカラー値を乗算する。テクスチャα値にはShadingα値を掛ける。PIXRGB= COLRGB * TEXRGB + OFFSETRGBPIXA = COLA * TEXA 

メンバ dwPaletteBankには、 パレットテクスチャのパレットエントリーバンク番号を格納します。

メンバ pTextureSurfaceDescには、テクスチャサーフェスディスクプリタへのポインタを格納します。


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