- D3DRS_ZENABLE
- CONST_D3DZBUFFERTYPE 列挙のいずれかのメンバで指定する深度バッファ ステート。z バッファリングを有効にするには D3DZB_TRUE、w バッファリングを有効にするには D3DZB_USEW、深度バッファリングを無効にするには D3DZB_FALSE を、それぞれ設定する。
このレンダリング ステートのデフォルト値は、D3DPRESENT_PARAMETERS 構造体の EnableAutoDepthStencil メンバに TRUE を設定してスワップ チェーンと共に深度ステンシルが作成されている場合は D3DZB_TRUE である。そうでない場合は D3DZB_FALSE がデフォルト値になる。
- D3DRS_FILLMODE
- CONST_D3DFILLMODE 列挙の 1 つ以上のメンバ。デフォルト値は D3DFILL_SOLID である。
- D3DRS_SHADEMODE
- CONST_D3DSHADEMODE 列挙の 1 つ以上のメンバ。デフォルト値は D3DSHADE_GOURAUD である。
- D3DRS_LINEPATTERN
- D3DLINEPATTERN 型。デフォルト値は wRepeatPattern が 0 で、wLinePattern が 0 である。
- D3DRS_ZWRITEENABLE
- アプリケーションによる深度バッファへの書き込みを有効にするには、TRUE を設定する。デフォルト値は TRUE である。アプリケーションはこのメンバを利用することにより、システムが新しい深度値で深度バッファを更新してしまうのを防ぐことができる。FALSE の場合は、レンダリング ステート D3DRS_ZFUNC (深度バッファリングが行われていると仮定) に従って深度比較が実行されるが、深度値はバッファに書き込まれない。
- D3DRS_ALPHATESTENABLE
- アルファ テストを有効にするには、TRUE を設定する。デフォルト値は FALSE である。このメンバを使用すると、アルファ値に基づいてピクセルを受け取るか拒否するかを判断するテストをオフにできる。
入ってくるアルファ値は、D3DRS_ALPHAFUNC レンダリング ステートにより提供される比較関数を用いて参照アルファ値と比較される。このモードを有効にすると、テストが成功した場合に限りアルファ ブレンディングが行われる。
- D3DRS_LASTPIXEL
- 直線や三角形の最後のピクセルの描画を有効にするには、FALSE を設定する。デフォルト値は TRUE である。
- D3DRS_SRCBLEND
- CONST_D3DBLEND 列挙のいずれかのメンバ。デフォルト値は D3DBLEND_ONE である。
- D3DRS_DESTBLEND
- CONST_D3DBLEND 列挙のいずれかのメンバ。デフォルト値は D3DBLEND_ZERO である。
- D3DRS_CULLMODE
- 背面の三角形をカリングする場合に、その方法を指定する。CONST_D3DCULL 列挙型のメンバのいずれかを設定できる。デフォルト値は D3DCULL_CCW である。
- D3DRS_ZFUNC
- CONST_D3DCMPFUNC 列挙のいずれかのメンバ。デフォルト値は D3DCMP_LESSEQUAL である。このメンバは、アプリケーションにカメラからの距離を基準とするピクセルの受け取りや受け取り拒否を許可する。
ピクセルの深度値を深度バッファの値と比較する。ピクセルの深度値が比較関数で許可された場合、ピクセルが書き込まれる。
深度値が深度バッファに書き込まれるのは、レンダリング ステートが TRUE の場合だけである。
この深度テストに失敗した方が、ソフトウェアによるラスタ化や多くのハードウェア アクセラレータの処理は速くなる。これは、ピクセルのレンダリング処理を行わない場合には、テクスチャをフィルタ処理したり乗算したりする必要がなくなるためである。
- D3DRS_ALPHAREF
- アルファ テストが有効に設定されている場合に、ピクセルをテストするための基準アルファ値を指定する値。0 から 1 の範囲の 16:16 固定小数点値を指定できる (1.0 は &H00010000 と表される)。デフォルト値は 0.0 である。
- D3DRS_ALPHAFUNC
- CONST_D3DCMPFUNC 列挙のいずれかのメンバ。デフォルト値は D3DCMP_ALWAYS である。このメンバは、アプリケーションにアルファ値を基準とするピクセルの受け取りや受け取り拒否を許可する。
- D3DRS_DITHERENABLE
- ディザリングを有効にするには、TRUE を設定する。デフォルト値は FALSE である。
- D3DRS_ALPHABLENDENABLE
- アルファ ブレンドによる透明化を有効にするには、TRUE を設定する。デフォルト値は FALSE である。
アルファ ブレンディングのタイプは、D3DRS_SRCBLEND と D3DRS_DESTBLEND のレンダリング ステートによって決定される。
- D3DRS_FOGENABLE
- フォグ ブレンディングを有効にするには、TRUE を設定する。デフォルト値は FALSE である。
- D3DRS_SPECULARENABLE
- スペキュラ ハイライトを有効にするには、TRUE を設定する。デフォルト値は FALSE である。
スペキュラ ハイライトは、光の当たっているオブジェクトの各頂点がそのオブジェクトの原点にあるかのように算出される。これによって、オブジェクトが原点の周囲でモデル化され、光源とオブジェクト間の距離が比較的大きい場合に限り、結果を予測することができる。
このメンバに TRUE を設定すると、テクスチャ カスケード後、アルファ ブレンディング前に、ベース カラーにスペキュラ色が追加される。
- D3DRS_ZVISIBLE
- サポートされていない。
- D3DRS_FOGCOLOR
- RGB 色を示す Long 型の値。デフォルト値は 0 である。
- D3DRS_FOGTABLEMODE
- ピクセル フォグに使用されるフォグ式。CONST_D3DFOGMODE 列挙のいずれかのメンバを設定する。デフォルト値は D3DFOG_NONE である。
- D3DRS_FOGSTART
- 線形フォグ モードで、ピクセルまたは頂点フォグ エフェクトが開始する深度。深度は、頂点フォグの場合はワールド空間で、ピクセル フォグの場合はデバイス空間 [0.0, 1.0] またはワールド空間のいずれかで指定する。ピクセル フォグでは、フォグ計算に Z が使用される場合、これらの値はデバイス空間にあり、視点との相対フォグ (W フォグ) が使用される場合はワールド空間にある。
- D3DRS_FOGEND
- 線形フォグ モードで、ピクセルまたは頂点フォグ エフェクトが終了する深度。深度は、頂点フォグの場合はワールド空間で、ピクセル フォグの場合はデバイス空間 [0.0, 1.0] またはワールド空間のいずれかで指定する。ピクセル フォグでは、フォグ計算に Z が使用される場合、これらの値はデバイス空間にあり、視点との相対フォグ (W フォグ) が使用される場合はワールド空間にある。
- D3DRS_FOGDENSITY
- 指数フォグ モード (D3DFOG_EXP および D3DFOG_EXP2) で使用するピクセルまたは頂点フォグのフォグ密度。密度の有効な値は 0.0 から 1.0 の範囲内である。デフォルト値は 1.0 である。
- D3DRS_EDGEANTIALIAS
- オブジェクトの凸面の輪郭を形成する線をアンチエイリアスするには、TRUE を設定する。デフォルト値は FALSE である。TRUE の場合、アプリケーションでは、直線のみレンダリングし、またシーン内のポリゴンの外辺に対してのみレンダリングすることが望ましい。このレンダリング ステートが設定されていて、三角形またはポイントが描画されると、その動作は不定である。アンチエイリアシングは、隣接ピクセルの値の平均値をとることによって実行される。この方法は、アンチエイリアシングの実行方法としてこれは最善ではないが、効率的ではある。この種の処理をサポートするハードウェアは普及しつつある。
エッジ アンチエイリアシングは、D3DPRASTERCAPS_ANTIALIASEDGES 能力を公開するデバイスに限り、有効にすることができる。
- D3DRS_ZBIAS
- 0 〜 16 の範囲の整数値であり、物理的に同一の面にあるポリゴンを分離して見えるようにする。描画順序のソーティングを行わなくても、高い Z バイアス値を持つポリゴンは、低い値を持つポリゴンよりも手前に見える。たとえば、値が 1 のポリゴンは、値が 0 のポリゴンより手前に見える。デフォルト値は 0 である。
- D3DRS_RANGEFOGENABLE
- 範囲ベースの頂点フォグを有効にするには、TRUE を設定する。デフォルト値は FALSE で、システムは深度ベースのフォグを使用する。範囲ベースのフォグでは、シーンにおけるオブジェクトの深度 (z 座標) ではなく、ビューアからのオブジェクトの距離でフォグ エフェクトを計算する。範囲ベースのフォグでは、通常のすべてのフォグ メソッドが機能するが、深度ではなく範囲を使って計算を行うポイントだけが異なる。
範囲はフォグ計算に使用する適切な要素であるが、範囲は計算のポイントで負荷が高く、深度は通常計算済みなので、代わりに深度が広く使われる。深度を使用してフォグを計算すると、周辺オブジェクトのフォグ エフェクトが視点の移動と共に変化するという好ましくない影響が出る。この場合、深度は変化するが範囲は一定のままである。
現在のところ、ピクセル単位の範囲ベースのフォグをサポートするハードウェアは存在しないため、範囲補正は頂点フォグでのみ行われる。
- D3DRS_STENCILENABLE
- ステンシル処理を有効にするには TRUE を設定し、ステンシル処理を無効にするには FALSE を設定する。デフォルト値は FALSE である。
- D3DRS_STENCILFAIL
- ステンシル テストに失敗したときに実行するステンシル処理。CONST_D3DSTENCILOP 列挙のいずれかのメンバを指定できる。デフォルト値は D3DSTENCILOP_KEEP である。
- D3DRS_STENCILZFAIL
- ステンシル テストにパスし、深度テスト (Z テスト) に失敗した場合に実行するステンシル処理。CONST_D3DSTENCILOP 列挙のいずれかのメンバを指定できる。デフォルト値は D3DSTENCILOP_KEEP である。
- D3DRS_STENCILPASS
- ステンシル テストおよび深度 (Z) テストの両方にパスした場合に実行するステンシル処理。CONST_D3DSTENCILOP 列挙のいずれかのメンバを指定できる。デフォルト値は D3DSTENCILOP_KEEP である。
- D3DRS_STENCILFUNC
- ステンシル テストのための比較関数。CONST_D3DCMPFUNC 列挙のいずれかのメンバを指定できる。デフォルト値は D3DCMP_ALWAYS である。
比較関数は、ステンシル バッファの要素を基準値と比較するために使われる。この比較は、基準値のビット、およびステンシル マスク (D3DRS_STENCILMASK レンダリング ステートにより設定) に設定されたステンシル バッファ要素にのみ適用される。TRUE の場合、ステンシル テストは成功である。
- D3DRS_STENCILREF
- ステンシル テストのための基準整数値。デフォルト値は 0 である。
- D3DRS_STENCILMASK
- 基準値および各ステンシル バッファ要素に適用し、ステンシル テストのための有効ビットを決定するマスク。デフォルトのマスクは &HFFFFFFFF である。
- D3DRS_STENCILWRITEMASK
- 基準値および各ステンシル バッファ要素に適用し、ステンシル テストのための有効ビットを決定するマスク。デフォルトのマスクは &HFFFFFFFF である。
- D3DRS_TEXTUREFACTOR
- D3DTA_TFACTOR テクスチャ ブレンディング引数または D3DTOP_BLENDFACTORALPHA テクスチャ ブレンディング処理によるマルチテクスチャ ブレンディングで使用される色。
- D3DRS_WRAP0 〜 D3DRS_WRAP7
- 複数のテクスチャ座標セットに対するテクスチャ ラッピング動作。これらのレンダリング ステートの有効値としては、CONST_D3DWRAPFLAGS 列挙で定義されている D3DWRAPCOORD_0 (または D3DWRAP_U)、D3DWRAPCOORD_1 (または D3DWRAP_V)、D3DWRAPCOORD_2 (または D3DWRAP_W)、および D3DWRAPCOORD_3 の各フラグの任意の組み合わせを指定できる。これらの値を設定すると、指定されたテクスチャに対して第一、第二、第三、第四ディメンジョンの方向 (s、t、r、および q 方向と呼ばれる場合もある) のラッピングが実行される。デフォルト値は 0 (すべての方向でラッピング無効) である。
- D3DRS_CLIPPING
- Microsoft® Direct3D® によるプリミティブのクリッピングを有効にするには TRUE、無効にするには FALSE を設定する。デフォルト値は TRUE である。
- D3DRS_LIGHTING
- Direct3D のライティングを有効にするには TRUE、無効にするには FALSE を設定する。デフォルト値は TRUE である。頂点法線を含む頂点のみ正しくライトが当てられ、法線を含まない頂点ではすべてのライティング計算で 0 の内積が使用される。
- D3DRS_AMBIENT
- アンビエント ライトの色。デフォルト値は 0 である。
- D3DRS_FOGVERTEXMODE
- 頂点フォグで使われるフォグ式。CONST_D3DFOGMODE 列挙のいずれかのメンバに設定する。デフォルト値は D3DFOG_NONE である。このレンダリング ステートは、従来の D3DLIGHTSTATE_FOGVERTEXMODE ライティング ステートに類似する。
- D3DRS_COLORVERTEX
- 頂点単位のカラーを有効にするには TRUE、無効にするには FALSE を設定する。デフォルト値は TRUE である。頂点単位のカラーを有効にすると、各頂点に定義された色をライティング計算で使用することができる。
詳細については、以下のレンダリング ステートを参照すること。
- D3DRS_LOCALVIEWER
- カメラとの相対角度に依存したスペキュラ ハイライトを有効にするには TRUE を設定し、正スペキュラ ハイライトを使用するには FALSE を設定する。デフォルト値は TRUE である。正射影を使用するアプリケーションでは FALSE を指定すること。
- D3DRS_NORMALIZENORMALS
- 頂点法線の自動正規化を有効にするには TRUE、無効にするには FALSE を設定する。デフォルト値は FALSE である。この機能を有効にすると、頂点がカメラ空間にトランスフォームされた後で頂点法線が正規化されるが、計算負荷が大きい。
- D3DRS_DIFFUSEMATERIALSOURCE
- ライティング計算に使用されるディフューズ色のソース。有効な値は、CONST_D3DMATERIALCOLORSOURCE 列挙のメンバである。デフォルト値は D3DMCS_COLOR1 である。このレンダリング ステートの値が使用されるのは、D3DRS_COLORVERTEX レンダリング ステートが TRUE に設定されている場合だけである。
- D3DRS_SPECULARMATERIALSOURCE
- ライティング計算に使用されるスペキュラ色のソース。有効値は CONST_D3DMATERIALCOLORSOURCE 列挙のメンバである。デフォルト値は D3DMCS_COLOR2 である。
- D3DRS_AMBIENTMATERIALSOURCE
- ライティング計算に使用されるアンビエント色のソース。有効値は CONST_D3DMATERIALCOLORSOURCE 列挙のメンバである。デフォルト値は D3DMCS_COLOR2 である。
- D3DRS_EMISSIVEMATERIALSOURCE
- ライティング計算に使用されるエミッション色のソース。有効値は CONST_D3DMATERIALCOLORSOURCE 列挙のメンバである。デフォルト値は D3DMCS_MATERIAL である。
- D3DRS_VERTEXBLEND
- ジオメトリがある場合、ジオメトリ ブレンディングを実行するために使用する行列の個数。有効な値は、CONST_D3DVERTEXBLENDFLAGS 列挙のメンバ。デフォルト値は D3DVBF_DISABLE である。
- D3DRS_CLIPPLANEENABLE
- ユーザー定義のクリップ面を有効または無効にする。有効な値は、CONST_D3DCLIPPLANEFLAGS 列挙の値の組み合わせ。列挙の値を指定すると、対応するクリップ面が有効になる。値を指定しないと、クリップ面は無効になる。デフォルト値は D3DCPF_DISABLEALL である。
- D3DRS_SOFTWAREVERTEXPROCESSING
- ハードウェア頂点処理またはソフトウェア頂点処理の設定をアプリケーションから照会および選択できるようにする値。デバイスの種類が D3DDEVTYPE_SW の場合、この値は TRUE の固定である。デバイスの種類が D3DDEVTYPE_REF の場合は、アプリケーションでこの値を設定できる。デバイスの種類が D3DDEVTYPE_HAL の場合は、D3DDEVCAPS_HWTRANSFORMANDLIGHT が設定されているときに限り、アプリケーションでこの値を設定できる。それ以外の場合、このフラグは TRUE に固定される。可変の場合、デフォルト値は FALSE である。
両方の頂点処理が可能なモードにおいて、頂点処理のレンダリング ステートを変更すると、カレント ストリーム、インデックス、および頂点シェーダは、デフォルト値の ByVal 0 または 0 にリセットされる。
- D3DRS_POINTSIZE
- 各頂点に対してポイント サイズが指定されていない場合に、ポイント サイズ計算で使用するサイズを指定する値。頂点がポイント サイズを含んでいる場合、この値は使用されない。この値は、D3DRS_POINTSCALEENABLE が FALSE の場合はスクリーン空間単位で指定する。それ以外の場合は、ワールド空間単位で指定する。デフォルト値は 1.0 である。この値の範囲は、0.0 以上である。
- D3DRS_POINTSIZE_MIN
- ポイント プリミティブの最小サイズを指定する値。レンダリングの間、ポイント プリミティブはこのサイズに固定される。1.0 より小さい値を設定すると、ポイントにピクセルの中心が含まれずにアンチエイリアシングが無効になっている場合はポイントが表示されなくなり、アンチエイリアシングが有効になっている場合は低い輝度でレンダリングされる。デフォルト値は 1.0 である。この値の範囲は、0.0 以上である。
- D3DRS_POINTSPRITEENABLE
- TRUE の場合は、テクスチャ全体が各ポイントにマッピングされるようにポイント プリミティブのテクスチャ座標が設定される。FALSE の場合は、頂点のテクスチャ座標がポイント全体に対して使用される。デフォルト値は FALSE である。D3DRS_POINTSCALEENABLE に FALSE (デフォルト値) を設定し、D3DRS_POINTSIZE に 1.0 (デフォルト値) を設定することで、DirectX 7 スタイルのシングルピクセル ポイントを実現できる。
- D3DRS_POINTSCALEENABLE
- ポイント プリミティブに対するサイズの計算を制御する値。TRUE の場合、ポイント サイズはカメラ空間の値として解釈され、距離関数および視錐台によってビューポートの Y 軸のスケーリングになるように調整されて、最終的なスクリーン空間のポイント サイズが計算される。FALSE の場合、ポイント サイズはスクリーン空間の値と解釈されて、そのまま使われる。デフォルト値は FALSE である。
- D3DRS_POINTSCALE_A
- ポイント プリミティブに対する距離ベースのサイズの減衰を制御する浮動小数点値。D3DRS_POINTSCALEENABLE が TRUE の場合にのみ有効である。デフォルト値は 1.0 である。この値の範囲は、0.0 以上である。
- D3DRS_POINTSCALE_B
- ポイント プリミティブに対する距離ベースのサイズの減衰を制御する浮動小数点値。D3DRS_POINTSCALEENABLE が TRUE の場合にのみ有効である。デフォルト値は 0.0 である。この値の範囲は、0.0 以上である。
- D3DRS_POINTSCALE_C
- ポイント プリミティブに対する距離ベースのサイズの減衰を制御する浮動小数点値。D3DRS_POINTSCALEENABLE が TRUE の場合にのみ有効である。デフォルト値は 0.0 である。この値の範囲は、0.0 以上である。
- D3DRS_MULTISAMPLEANTIALIAS
- マルチサンプル レンダリングのターゲット バッファを使うときの、個々のサンプルの計算方法を決定する値。TRUE の場合は、複数サンプルのそれぞれについて異なるサンプリング位置でサンプリングすることでフルシーン アンチエイリアシングを実行するように、複数のサンプルが計算される。FALSE の場合は、複数のサンプルはすべて同じサンプリング値 (ピクセルの中心でサンプリングされた値) で記述されて、マルチサンプル バッファに対する非アンチエイリアシング レンダリングが可能になる。シングル サンプル バッファへのレンダリング時、このレンダリング ステートはエフェクトを持たない。デフォルト値は TRUE である。
- D3DRS_MULTISAMPLEMASK
- LSB を先頭とするこのマスクの各ビットは、マルチサンプル レンダリング ターゲットの 1 つのサンプルに対する変更を制御する。したがって、8 サンプルのレンダリング ターゲットの場合は、8 つのサンプルのそれぞれに対する 8 つの書き込み許可情報が、下位バイトに格納されている。シングル サンプル バッファへのレンダリング時、このレンダリング ステートはエフェクトを持たない。デフォルト値は &HFFFFFFFF である。
このレンダリング ステートを使うと、マルチサンプル バッファを蓄積バッファとして使い、各パスがサンプルのサブセットを更新するようなジオメトリのマルチパス レンダリングを行うことができる。
- D3DRS_PATCHEDGESTYLE
- パッチのエッジでフロート型のテッセレーションを使用するかどうかを設定する。使用できる値は、CONST_D3DPATCHEDGESTYLE 列挙型によって定義される。
- D3DRS_PATCHSEGMENTS
- 高次プリミティブを描画するときのエッジごとのセグメントの数。
- D3DRS_DEBUGMONITORTOKEN
- モニタをデバッグする場合にのみ設定する。
- D3DRS_POINTSIZE_MAX
- ポイント スプライトが制限される最大サイズを指定する値。値は、D3DCAPS8 の MaxPointSize メンバ以下で、D3DRS_POINTSIZE_MIN 以上でなければならない。
- D3DRS_INDEXVERTEXBLENDENABLE
- TRUE の場合は、インデックス付き頂点ブレンディングが有効である。FALSE の場合、インデックス付き頂点ブレンディングが無効である。このレンダリング ステートが有効な場合は、頂点ごとにパックされた LONG で行列インデックスを渡さなければならない。このレンダリング ステートを無効にし、D3DRS_VERTEXBLEND ステートを使って頂点ブレンディングを有効にすることは、すべての頂点について行列インデックス 0、1、2、3 を指定することと同じである。
- D3DRS_COLORWRITEENABLE
- レンダリング ターゲットのカラー バッファに対するチャネルごとの書き込みを有効にする値。ビットを設定すると、3D レンダリングの間にカラー チャネルが更新される。ビットをクリアすると、カラー チャネルは更新されない。デバイスに対して D3DCAPS8 型の PrimitiveMiscCaps メンバに D3DPMISCCAPS_COLORWRITEENABLE 能力ビットが設定されている場合、この機能は有効である。このレンダリング ステートは、クリア処理に影響を与えない。デフォルト値は &H0000000F である。
このレンダリング ステートの有効値は、CONST_D3DCOLORWRITEENABLEFLAGS 列挙で定義されている値の任意の組み合わせである。
- D3DRS_TWEENFACTOR
- トゥイーン係数を制御する値。
- D3DRS_BLENDOP
- アルファ ブレンディング レンダリング ステートの D3DRS_ALPHABLENDENABLE が TRUE に設定されている場合に適用する算術処理の選択に使用される値。有効な値は、CONST_D3DBLENDOP 列挙型で定義される。デフォルト値は D3DBLENDOP_ADD である。
D3DPMISCCAPS_BLENDOP デバイス能力がサポートされていない場合は、D3DBLENDOP_ADD が実行される。