Protyping some ideas about block world LOD for far rendering.
Far away objects in these pics are:
-castle rendered the regular way (all visible faces, etc.)
-castle with LOD prototype level 1
-weird large block pyramid thing rendered the regular way
-same object with LOD prototype level 1
This last one shows what they look like just beyond the maximum clip distance Mythruna version 1 had:
The criteria are:
- must be nearly free to calculate with existing block edit data
- must be low memory foot-print
- must look ok from the ground and from the air
- must render almost free
…probably some others I forget but those are the main ones.
So far (1) is definitely true. This can be essentially generated directly from existing world data and block masks/lighting values. Mostly. I do a pass to remove the interiors that requires recalculating the side masks or the ‘normals’ look weird… I still think there is enough there to explore.
(2) could already be improved because I’m being hacky in my buffers. (Full tex coords and normals is unnecessary… and ultimately the positions could be bytes, etc.)
(3) is ok, I think. It’s not using fog settings yet and the real fog/atmospherics will be much thicker.
(4) unknown… I have to have hundreds of them from real world data before I can worry about that, unfortunately. Since it’s using points sprites but in a funky way, I guess some cards may not like that if there are 10s of thousands of the points.
But next is trying to do an even farther version that uses a coarser grained grid.
So far, results are encouraging.
Edit: for reference in case it wasn’t obvious, v: num vertices, n: num normals, u: num uvs, i: number if index elements, ie: triangles.