gpt4 book ai didi

dxgi - 使用哪种格式来查看深度模板缓冲区资源的着色器资源?

转载 作者:行者123 更新时间:2023-12-02 16:30:24 50 4
gpt4 key购买 nike

深度模板缓冲区资源定义为DXGI_FORMAT_D24_UNORM_S8_UINT格式。

<小时/>

我假设要在该资源中创建着色器资源 View (SRV),需要将 View 格式描述为:

  • DXGI_FORMAT_R24_UNORM_X8_TYPELESS,其中红色 channel 访问深度值
  • DXGI_FORMAT_R24G8_TYPELESS,其中红色 channel 访问深度,绿色 channel 模板值

但是,创建此类 SRV 失败并出现以下错误:

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给我提供了以下信息:

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.

<小时/>

我不太明白为什么不允许使用无类型格式以及我应该使用哪种格式

最佳答案

恰恰相反,您使用无类型组件创建资源,并在具有所需最终表示形式的 View 中专门化资源。由于您已经为资源模板提供了 uint 表示形式,因此您将不得不使用它。

关于dxgi - 使用哪种格式来查看深度模板缓冲区资源的着色器资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38933565/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com