Today, I find out that writing to three RWTexture3D is better than writing to a single RWByteAddress buffer. The VoxelShader aggregate step goes from 47ms to 3ms (using High resolution setting on my crappy laptop's GeForce 920MX). That is almost 16 times faster.
I also discover a bug in the HLSL to GLSL translator that doesn't properly translate multiple RWTexture3D readings (Unity case 1241093). This HLSL code:
Today, I find out that writing to three
RWTexture3D
is better than writing to a singleRWByteAddress
buffer. TheVoxelShader
aggregate step goes from 47ms to 3ms (usingHigh
resolution setting on my crappy laptop's GeForce 920MX). That is almost 16 times faster.I also discover a bug in the HLSL to GLSL translator that doesn't properly translate multiple
RWTexture3D
readings (Unity case 1241093). This HLSL code:Get translated into this GLSL code:
The expected GLSL code should be: