GPU 数据缓冲区,主要与计算着色器结合使用。
ComputeShader 程序通常需要向内存缓冲区读写任意数据。
ComputeBuffer 类的作用正在于此 - 您可以从脚本代码创建和填充计算缓冲区,
并在计算着色器或常规着色器中使用计算缓冲区。
在计算着色器中始终支持计算缓冲区。可使用 SystemInfo.supportsComputeShaders 运行时查询计算着色器支持情况。请参阅计算着色器手册页,了解有关支持计算着色器的平台的更多信息。在常规图形着色器中,至少需要 shader model 4.5 才能支持计算缓冲区。
在着色器方面,具有默认 ComputeBufferType 的 ComputeBuffers 映射到 HLSL 中的 StructuredBuffer<T>
和 RWStructuredBuffer<T>
。
另请参阅:ComputeShader 类、Shader.SetGlobalBuffer、Material.SetBuffer、计算着色器概述。
ComputeBuffer | 创建计算缓冲区。 |
GetData | 将该缓冲区中的数据值读取到数组中。该数组只能使用 blittable 类型。 |
GetNativeBufferPtr | 获取指向该缓冲区的原生(底层图形 API)指针。 |
IsValid | 如果该计算缓冲区有效,则返回 true,否则返回 false。 |
Release | 释放计算缓冲区。 |
SetCounterValue | 设置附加/使用缓冲区的计数器值。 |
SetData | 使用数组中的值设置该缓冲区。 |
CopyCount | 将附加/使用缓冲区的计数器值复制到另一个缓冲区。 |