LOADING
LOADING
To efficiently render large environments, I implemented an impostor system to represent distant geometry with significantly reduced draw calls
Instead of rendering full-resolution meshes, assets are batched and simplified, allowing us to reduce rendering cost at long distances
Each asset category is processed using custom reduction rules to preserve its visual silhouette at distance.




For buildings, I implemented a full UV recomputation and texture baking pipeline to:
Additionally, I developed a Houdini algorithm to detect triangles with near-uniform color.


Small assets such as rocks are baked directly into terrain textures, including height modifications, reducing both geometry and potential draw calls
Level artists and designers can also specify mesh parameters so some assets keep their last LOD in the impostor pass, preserving details on tall structures


Whenever possible, I shift data from textures to vertex attributes:
This reduces texture memory usage and improves rendering performance
On top of that, for very distant tiles, I bake tiles 2 by 2 and further reduce geometry and texture usage
Here's a small video showing the approximate distance at which impostor meshes are meant to be rendered



