Platform SDK: DirectX

カラー キーイング ステート

カラー キーを設定すると、Direct3D はキー カラーを透明色として扱う。Direct3D では、DDSD_CKSRCBLT フラグを使用して作成されたテクスチャをプリミティブに適用するとき、キー カラーと一致するテクセルはすべてプリミティブではレンダリングされない。DDSD_CKSRCBLT フラグを使用しないで作成されたテクスチャの場合は、その中にカラー キーが含まれていてもカラー キー エフェクトが表示されないことに注意する。

[C++]

C++ アプリケーションでは、カラー キーを使用するサーフェス (この場合レンダリング ターゲット サーフェス) に対して、IDirectDrawSurface7::SetColorKey メソッドでカラー キーを設定する。ただし、IDirect3DDevice7::SetRenderState メソッドを呼び出してカラー キーのオン/オフを切り替えることができる。第 1 パラメータを D3DRENDERSTATE_COLORKEYENABLE に設定する。カラー キーを有効にするには第 2 パラメータを TRUE に設定し、無効にするには FALSE に設定する。デフォルトは FALSE である。

// このコードでは、lpD3DDevice は IDirect3DDevice7 インターフェイスへの
// 有効なポインタであるとする。
 
// カラー キーを無効にする。
lpD3DDevice->SetRenderState(D3DRENDERSTATE_COLORKEYENABLE, 
                            FALSE);
[Visual Basic]

Visual Basic で記述されたアプリケーションでは、カラー キーを使用するサーフェス (この場合レンダリング ターゲット サーフェス) に対して、DirectDrawSurface7.SetColorKey メソッドでカラー キーを設定する。ただし、Direct3DDevice7::SetRenderState メソッドを呼び出してカラー キーのオン/オフを切り替えることができる。第 1 パラメータを D3DRENDERSTATE_COLORKEYENABLE に設定する。カラー キーを有効にするには第 2 パラメータを True に設定し、無効にするには False に設定する。デフォルトは False である。

' このコードでは、D3DDevice に Direct3DDevice7 オブジェクトへの
' 有効な参照が格納されているとする。
 
' カラー キーを無効にする。
Call D3DDevice.SetRenderState(D3DRENDERSTATE_COLORKEYENABLE, _ 
                              FALSE)