RWTexture3D
读/写资源。
方法 | 说明 |
---|---|
GetDimensions | 获取资源维度。 |
加载 | 读取纹理数据。 |
Operator[] | 获取资源变量。 |
可以使用存储类 globallycoherent 作为 RWTexture3D 对象的前缀。 此存储类会导致内存屏障和同步在整个 GPU 中刷新数据,以便其他组可以看到写入。 如果没有此说明符,内存屏障或同步将仅在当前组中刷新 UAV。
RWTexture3D 对象需要对象的声明语句中的元素类型。 例如,以下声明是正确的:
RWTexture3D<float> tex;
由于 RWTexture3D 对象是 UAV 类型的对象,因此其属性不同于着色器资源视图 (SRV) 类型对象,例如 Texture3D 对象。 例如,可以读取 和写入 RWTexture3D 对象,但只能从 Texture3D 对象读取。
RWTexture3D 对象不能使用来自 Texture3D 对象的方法,例如 Sample。 但是,由于可以为同一资源创建多个视图类型,因此可以在多个着色器中将多个纹理类型声明为单个纹理。 例如,可以在计算着色器中声明和使用 RWTexture3D 对象作为 tex ,然后在像素着色器中声明并使用 Texture3D 对象作为 tex 。
注意
当你为同一资源创建多个视图类型时,运行时会强制实施某些使用模式。 例如,运行时不允许同时激活资源的 UAV 映射和同一资源的 SRV 映射。
最小着色器模型
以下着色器模型中支持此对象。
着色器模型 | 支持 |
---|---|
着色器模型 5 及更高着色器模型 | 是 |
以下类型的着色器支持此对象:
顶点 | 外壳 | 域 | Geometry | 像素 | 计算 |
---|---|---|---|---|---|
x | x |
另请参阅