> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ClearUnorderedAccessViewFloat

> 将无序访问视图中的所有元素设置为指定的浮点值。

将无序访问视图 (UAV) 中的所有元素设置为指定的浮点值。

## 语法

```cpp theme={null}
void ClearUnorderedAccessViewFloat(
    D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
    D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
    ID3D12Resource  pResource,
    const FLOAT  Values,
    UINT NumRects,
    const D3D12_RECT  pRects
)
```

### 参数

*ViewGPUHandleInCurrentHeap*\
类型：D3D12\_GPU\_DESCRIPTOR\_HANDLE

一个 [D3D12\_GPU\_DESCRIPTOR\_HANDLE](/reference/graphics/d3d12/structs/d3d12_gpu_descriptor_handle_public)，它引用要清除的无序访问视图 (UAV) 的已初始化描述符。此描述符必须位于着色器可见的描述符堆中，并且该堆必须通过 [SetDescriptorHeaps](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setdescriptorheaps_public) 设置到命令列表上。

*ViewCPUHandle*\
类型：D3D12\_CPU\_DESCRIPTOR\_HANDLE

位于非着色器可见描述符堆中的 [D3D12\_CPU\_DESCRIPTOR\_HANDLE](/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)，它引用要清除的无序访问视图 (UAV) 的已初始化描述符。

<Info>
  此描述符不得位于着色器可见的描述符堆中。这是为了让将清除操作实现为固定功能硬件操作（而非调度）的驱动程序能够高效地从描述符中读取，因为着色器可见的堆可能在 **WRITE\_BACK** 内存中创建（类似于 **D3D12\_HEAP\_TYPE\_UPLOAD** 堆类型），而 CPU 从此类内存中读取的速度非常慢。
</Info>

*pResource*\
类型：ID3D12Resource \*

指向 [ID3D12Resource](/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs) 接口的指针，该接口表示要清除的无序访问视图 (UAV) 资源。

*Values*\
类型：const FLOAT \*

包含用于填充无序访问视图资源的值的 4 分量数组。

*NumRects*\
类型：UINT

*pRects* 参数指定的数组中的矩形数量。

*pRects*\
类型：const D3D12\_RECT \*

要清除的资源视图中矩形的 **D3D12\_RECT** 结构数组。如果为 **NULL**，则 **ClearUnorderedAccessViewFloat** 清除整个资源视图。

### 返回值

类型：void

无。

## 备注

### 运行时验证

对于浮点输入，运行时会将非正规值设置为 0（同时保留 NAN）。

如果要将 UAV 清除为特定的位模式，请考虑使用 [ID3D12GraphicsCommandList::ClearUnorderedAccessViewUint](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_clearunorderedaccessviewuint_public)。

验证失败将导致对 [ID3D12GraphicsCommandList::Close](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_close_public) 的调用返回 **E\_INVALIDARG**。

### 调试层

如果输入值超出正规范围，调试层将发出错误。

如果视图引用的子资源不在适当的状态，调试层将发出错误。对于 **ClearUnorderedAccessViewFloat**，状态必须为 [D3D12\_RESOURCE\_STATE\_UNORDERED\_ACCESS](/reference/graphics/d3d12_x/enums/d3d12_resource_states)。

## 要求

**头文件：** d3d12\_xs.h 或 d3d12\_x.h\
**库：** d3d12\_xs.lib 或 d3d12\_x.lib\
**支持的平台**：XBOX Series 主机和 XBOX One 系列

## 另请参阅

[ID3D12GraphicsCommandList 接口](/reference/graphics/d3d12_xs/interfaces/ID3D12GraphicsCommandList/id3d12graphicscommandlist_xs)


## Related topics

- [D3D12_GPU_DESCRIPTOR_HANDLE](/zh-CN/reference/graphics/d3d12/structs/d3d12_gpu_descriptor_handle_public.md)
- [D3D12_CPU_DESCRIPTOR_HANDLE](/zh-CN/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public.md)
- [ClearUnorderedAccessViewUint](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_clearunorderedaccessviewuint_public.md)
- [SetComputeRootUnorderedAccessView](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setcomputerootunorderedaccessview_public.md)
- [SetGraphicsRootUnorderedAccessView](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setgraphicsrootunorderedaccessview_public.md)
