Well, some few days a go I asked a question about re-writable textures, a UAV, which basically acts as a render target, though it took me a while to figure that out.
But one problem is that if you use multiple render targets, there aren't so many slots for any UAVs, so I was suggested to sample a UAV to a Srv on a full screen quad, which is actually the way to go!
But, yeah it had to come, what about 3D Textures?
Do I render each single depth slice on and on, wouldn't that be terrible slow? (Sampling each single pixel on a full screen...)
My 3D Texture has the dimension 128x128x128, so using that approach above, I would need to sample 2097152 times, just for one 3D Texture!
What approaches could be taken to this?
When reading my UAV, I get several warnings/errors in the runtime:
D3D11: ERROR: ID3D11DeviceContext::DrawIndexed: The Unordered Access View (UAV) in slot 1 of the Pixel Shader unit has the Format (R8G8B8A8_UNORM). This format does not support being read from a shader as as UAV. This mismatch is invalid if the shader actually uses the view (e.g. it is not skipped due to shader code branching). It was unfortunately not possible to have all hardware implementations support reading this format as a UAV, despite that the format can written to as a UAV. If the shader only needs to perform reads but not writes to this resource, consider using a Shader Resource View instead of a UAV. [ EXECUTION ERROR #2097382: DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED ]
I get the error, and the reason for it to appear, but just not which format which I should use instead.
How can, if possible, I fix this error, what format is needed?
Thanks, as usual!