2016-08-13 11 views
3

深度型ステンシルバッファリソースは、DXGI_FORMAT_D24_UNORM_S8_UINTフォーマットと定義されています。深度ステンシルバッファリソースへのシェーダリソースビューに使用する形式はどれですか?


Iを説明するための表示形式を必要とするであろう、そのリソースへのシェーダリソースビュー(SRV)を作成することを想定しているであろういずれかとして:赤チャネルの深さ値 にアクセス

  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS赤チャネルは、SRVはで失敗作成、

しかし深さと緑チャネルステンシル値にアクセス

  • DXGI_FORMAT_R24G8_TYPELESS型なしフォーマットはとを許可されていない理由を

    When viewing a resource, the resource-view description must specify a typed format, that is compatible with the resource format. So that means that you can't create a resource-view description using any format with _TYPELESS in the name. You can however view a typeless resource by specifying a typed format for the view.


    は、私は本当にを理解していない:次のエラー:

    D3D12 ERROR: ID3D12Device::CreateShaderResourceView: For the resource format D24_UNORM_S8_UINT, when making a D3D view, the format name for the view can't be R24_UNORM_X8_TYPELESS. See documentation for the set of valid view format names for this resource format, determining which how the resource (or part of it) will appear to shader. [ STATE_CREATION ERROR #28: CREATESHADERRESOURCEVIEW_INVALIDFORMAT]

    API docを見ると、情報の以下の部分で私をもたらしました代わりにどの形式を使用する必要がありますか

  • 答えて

    2

    これは逆ですが、タイプのないコンポーネントでリソースを作成し、必要な最終表現を持つビューでリソースを特化します。すでにリソースステンシルにuint表現を与えているので、あなたはそれに固執しています。

    +0

    ありがとう、それは完璧な意味があります!私はリソースを 'R24G8_TYPELESS'、DSVを' D24_UNORM_S8_UINT'、SRVを 'R24_UNORM_X8_TYPELESS'と定義しました。 –

    関連する問題