EDIT: Pushed the changes to release branch now, the link is here .
While I want to add some more things, and fix others, they are minor changes that I should be doing along week, so you guys can start compiling and using 4.8.3
Main changes are:
1) Updated to 4.8.3
2) Improved voxelization culling and performance
3) Added the (disabled until I add a cvar later week ) new blur version. Slow, and with some artifacts, but good edge preservation
4) Improved tracing quality by switching to 3D textures and an exact voxel traversal algorithm. Performance is about the same at same samples count, but much better quality now. Voxel size now influences quite a bit tracing speed.
5) BUG Sadly, reflections are broken.
There are some minor fixes that I should solve along week, and there are some other bigger optimizations like fixing the voxelization pixel shader stage(using weird and obscure hack right now) and increasing the step size when using higher mip levels (now I’m using lower mips as the ray gets further away, but just for the emissive, the scene volume that is the one I use for the intersections remains the same. While sub-optimal, it does improve quality over only using the finest mip). Also I have not yet finished, but should’d take long, a version of anisotropic voxels, to reduce light leaking, but using some spare bits I have now. Also using spare bits on the scene volume, I plan to average the voxel with the prev one, to make movement smoother. is tricky though, given that I’m now using 3D textures and there’s a stupid limitation (that was lifted with DX 11.3/12) that prevents you from reading from a RWTexture3D if the format is not a 32 bits single component, so will have to work my way around that.
Please test it and report findings, interested mainly in tracing and voxelization performance, and if you still have your old build around, please run a profilegpu and write down the times for all the things that start with AHR, and compare that with the new times. Would be really useful.