ビュー

"ビュー" という用語は、"要求された形式のデータ" という意味で使われます。 たとえば、定数バッファー ビュー (CBV) は、適切な形式の定数バッファー データを表します。 このセクションでは、最もよく使われる便利なビューについて説明します。

このセクションの内容

トピック 説明

定数バッファー ビュー (CBV)

定数バッファーには、シェーダーの定数データが含まれます。 それらの価値は、データを変更する必要があるまでデータが存続し、任意の GPU シェーダーからアクセスできることです。

頂点バッファー ビュー (VBV) とインデックス バッファー ビュー (IBV)

頂点バッファーには、頂点のリストのデータが保持されます。 各頂点のデータには、位置、色、法線ベクトル、テクスチャ座標などを含めることができます。 インデックス バッファーには、頂点バッファーへの整数インデックス (オフセット) が保持されます。インデックス バッファーは、頂点の完全なリストのサブセットから成るオブジェクトを定義してレンダリングするために使われます。

シェーダー リソース ビュー (SRV) と順序指定されていないアクセス ビュー (UAV)

シェーダー リソース ビューは、通常、シェーダーがアクセスできる形式でテクスチャをラップします。 順序指定されていないアクセス ビューも同様の機能を提供しますが、任意の順序でテクスチャ (またはその他のリソース) の読み取りや書き込みを行うことができます。

サンプラー

テクスチャまたはその他のリソースから入力値を読み取るプロセスをサンプリングと呼びます。 ”サンプラー” は、リソースから読み込まれるオブジェクトです。

レンダー ターゲット ビュー (RTV)

レンダー ターゲットは、画面にレンダリングされるバック バッファーではなく、一時的な中間バッファーにシーンがレンダリングできるようにします。 この機能を使うと複雑なシーンを実現できます。たとえば、グラフィックス パイプライン内で反射テクスチャなどの用途に使われるシーンをレンダリングしたり、レンダリング前にシーンにピクセル シェーダー効果を追加したりできます。

深度ステンシル ビュー (DSV)

深度ステンシル ビューは、深度とステンシルの情報を保持するための形式とバッファーを提供します。 深度バッファーは、近くにあるオブジェクトによって視界から遮られる、ビューアーには見えないピクセルの描画を省くために使われます。 ステンシル バッファーを使って、定義した図形以外のすべての描画をカリングすることができます。

ストリーム出力ビュー (SOV)

ストリーム出力ビューを使うと、頂点、テセレーション、ジオメトリ シェーダーによって生成された頂点情報を、後で利用できるようにアプリケーションに戻すことができます。 たとえば、これらのシェーダーによってゆがめられたオブジェクトをアプリケーションに書き戻して、より正確な入力を物理エンジンや他のエンジンに提供できます。 ただし実際には、ストリーム出力ビューは、グラフィックス パイプラインの機能の中でも使われることが少ない機能です。

ラスタライザー順序指定ビュー (ROV)

ラスタライザー順序指定ビューを使うと、深度バッファーの一部の制約に対処できます。特に、透明度が含まれた複数のテクスチャがあって、それらがすべて同じピクセルに適用される場合に有効です。

 

Direct3D グラフィックスの学習ガイド