次の方法で共有


出力レジスタ

  • 頂点カラー レジスタ
  • 霧レジスタ
  • Position_Register
  • Point_Size_Register
  • Texture_Coordinate_Register

レジスタ名の前に小文字 o が付き、出力レジスタが書き込み専用であることを示します。

頂点カラー レジスタ - oD0、oD1

oD0 は拡散カラー レジスタです。 oD1 は反射カラー レジスタです。 oD0 値は補間され、ピクセル シェーダーの入力カラー レジスタ 0 (v0) に書き込まれます。 oD1 値は補間され、ピクセル シェーダーの入力カラー レジスタ 1 (v1) に書き込まれます。 ピクセル シェーダー カラー レジスタの詳細については、「Registers」を参照してください。

頂点シェーダーのバージョン 1_1 2_0 2_sw 2_x 3_0 3_sw
頂点カラー レジスタ x x x x

 

霧レジスタ - oFog

出力の霧の値が登録されます。 値は、補間し、次に霧テーブルにルーティングされる霧係数です。 霧のスカラー x 成分のみが使用されます。 値は、ラスタライザーに渡す前に 0 から 1 の間でクランプされます。

頂点シェーダーのバージョン 1_1 2_0 2_sw 2_x 3_0 3_sw
霧レジスタ x x x x

 

Position Register - oPos

出力位置レジスタ。 値は、同種クリッピング空間内の位置です。 この値は、頂点シェーダーによって書き込まれる必要があります。

頂点シェーダーのバージョン 1_1 2_0 2_sw 2_x 3_0 3_sw
Position Register x x x x

 

ポイント サイズ レジスタ - oPts

出力ポイント サイズ レジスタ。 ポイント サイズのスカラー x コンポーネントのみが使用されます。

頂点シェーダーのバージョン 1_1 2_0 2_sw 2_x 3_0 3_sw
ポイント サイズ レジスタ x x x x

 

テクスチャ座標レジスタ - oT0 から oT7

出力テクスチャ座標レジスタ。 具体的には、これらは、ピクセル シェーダーにデータをルーティングするテクスチャ サンプリング ステージによって反復処理され、テクスチャ座標として使用される出力データ レジスタの配列です。

頂点シェーダーのバージョン 1_1 2_0 2_sw 2_x 3_0 3_sw
テクスチャ座標レジスタ x x x x

 

テクスチャ座標レジスタに書き込む場合は、対応するテクスチャ マップの次元と同じ数の浮動小数点値のみを渡すことが推奨されます。 修飾子を使用して渡される値を制御します。 たとえば、2D テクスチャ マップには .xy を使用します。

テクスチャ ステージでテクスチャ プロジェクションが有効になっている場合は、4 つの浮動小数点値すべてを対応するテクスチャ レジスタに書き込む必要があります。

プログラミング可能なパイプラインが使用されている場合、D3DTTFF* テクスチャ変換フラグは 0 にする必要があります。

テクスチャ座標範囲

オブジェクト頂点データは、入力テクスチャ座標を提供します。 タイル テクスチャを使用しないオブジェクトは、通常、[0,1] の範囲内のテクスチャ座標を持ちます。 地形などのタイルテクスチャを使用するオブジェクトは、通常、[-?,+?] の範囲のテクスチャ座標を持ちます。 ? には、大きな浮動小数点数を指定できます。

テクスチャ座標補間は、ラスタライズのために頂点データに対して実行されます。 ラスタライズ中、テクスチャ座標はオブジェクトの頂点間で補間され、テクスチャ ラップによって変更され、テクスチャ サイズ (テクスチャ アドレス モードも考慮) によってスケーリングされ、整数インデックスが生成されます。 その後、インデックスを使用してテクスチャ参照を実行します。 MaxTextureRepeat を使用して、テクスチャをタイル化できる回数を決定できます。

テクスチャ座標が (texcoord または texcrd を使用して) ピクセル シェーダーに直接読み込まれる場合、テクスチャ座標の範囲は命令とピクセル シェーダーのバージョンによって異なります。

頂点シェーダー レジスタ