New Impostor System (sus)
The impastars... are very sus
Impostors are rendered using instanced billboards that are culled on a per instance basis, using an asynchronous compute shader that runs in the background (not like it takes a lot of time anyways, only 300 micro-seconds for roughly 30k impostors).
Much tighter culling algorithm as well, as this uses a proper frustum culler instead of the dumb "dot product" based culling in the previous version. I will soon implement occlusion culling using a software rasterized DDA algorithm to cull props that are hidden away behind solid terrain chunks.
I will also implement a better system for rendering a lot more of these impostors at a much larger distance, as this system gets bottlenecked when the quad triangles become sub-2x2-pixels, causing a lot of GPU warp underutilization (especially when you have more than 100k visible props in total). Hopefully a new system will fix this.
Science & Technology