- editor: quicksave, multiple scenes support, gui changes, additional shortcuts
- physics: improvements for handling multiple scenes, and removal of physics objects
- scripting: ability to override global scene and camera with custom scene and camera from cpp side
* font renderer updates, text debug drawer;
editor: name visualizer;
github CI: vulkan sdk not required;
* cmake: vulkan sdk not required
* refactors
* lua binding for DrawDebugText()
* comment
* transparency sorting for debug texts;
font alphablend fix;
* softer debug text
shadow atlas will contain directional, spot, point light shadows all in one texture;
shadow count will not be limited, they will be tigthly packed within the atlas instead;
shadow resolution will be dynamic per light;
shadow texture arrays will no longer be used;
* subresource download, upload improvements, ktx2, basis convert: using mipmap data from GPU
* bush and tree terrain assets: mipmap coverage fix
* refactors
* comments
Splitting visibility buffer shaders to reduce register usage:
resolve (async)
binning (async)
velocity (async)
surface sampling (async)
sky (async)
lighting (gfx)
Successfully improved GPU utilization in lighting shader.
Binning is faster, because binning tiles and not pixels
Because tiles are binned, lighting tiles are using coherent tile info for whole thread group
Surface, sky and decal rendering also runs now in async compute.
Velocity is separate pass, improves GPU utilization in resolve, and only runs as optional.
Surface shader occupancy is still bad, and wind computation is still bad per pixel, but now it is only done in surface shader.
Surface shader can now write out proper top layer of clearcoated material, this improves screen space and raytraced reflections.
MSAA not implemented yet for visibility compute shading
Tessellation is still only half way supported in visibility compute shading (tessellation data not available in memory for pixel interpolation, but depth is written in prepass, this causes mismatch)