我有以下缓冲区:
RWTexture2D<float4> Output : register(u0);
计算着色器使用此缓冲区来渲染计算图像。要在该纹理中写入像素,我只需使用类似于以下的代码:
Output[XY] = SomeFunctionReturningFloat4(SomeArgument);
这很好用,我的计算图像在屏幕上正确呈现。
现在在计算着色器的某个阶段,我想读回一个已经计算过的像素并再次处理它。
Output[XY] = SomeOtherFunctionReturningFloat4(Output[XY]);
编译器返回错误:
error X3676: typed UAV loads are only allowed for single-component 32-bit element types
任何帮助表示赞赏。