Thank’s to my… “origami salvation”, adaptive (and configurable) degradation is now fully ok. This time, my laptop can’t survive to the new “C” mode… but any decent desktop config should be able to gain benefit from new thin light details.
I had small rendering bugs all along because of my terrain LoD system. When ground tile’s resolution change, it’s almost impossible to match vertices in order to avoid gaps. I had tried so far half a dozen kind of different computations… But while “errors” were camera orientation dependent, I struggled to find a way which didn’t needed for more terrain updates.
So much work for so few pixels… but this issue is now over!
3 days (x12 hours…) of hard work… I’ve almost solved any lag while setting game’s configuration at its maximum on my laptop. Still a couple of residual bugs, but the harder is widely done…
I’ve implemented a system of “time budget” which can split any computation between frames when CPU is burning 😉 Former static geometries generation (i.e. Ogre::StaticGeometry::build()) of 420,000 vertex are now nearly unnoticeable on frame rate. This fucking bottleneck has vanished!
Nyne Terrain Manager is evenly compatible with Ogre’s shader object instancing. Since 2 faces impostors are more efficient in static geometry, my scene manager has been added the capability to switch smoothly between static/instanced depending on LOD distance. I haven’t tested yet FPS with shader instancing but it might rocks!
My first priority is to create a nice LoD/paging scene system. I’ve seen that Ogre has specific scene managers & plugins for this, but I’m rather sure I won’t find anything fitted for Nyne… or fitted with me. And even… I’d like to stay focus on a very basic Ogre environment. So I’m starting my own stuff. Well… I’m not really about to start running mindless in the dark… I had filled two notebooks in the past months to consider that kind of problems. But now I’m going to discover issues I haven’t predicted 🙂
The need for a paging system is obvious. Planets have to be huge sized. To be able to fit hundreds of city per planet, and a couple of kilometers between… so I mean HUGE.
– Each planet will be composed of 8,388,608 tiles (I won’t detail why)
– Each tile will be made of 1,600 vertex (at least)
– We’ve got… a minimal 13,421,772,800 vertex par planet.
– (and if you don’t know, we have 9 planets)
– Once for all, I do need a paging scene from hell!
And for the Level of Detail. I’d like to:
– have a quite deep background landscape, so vertex optimization
– be able to change vertex resolution depending on hardware
I don’t want neither the most beautiful, nor the most large length of view. I just NEED a huge planet and a kind of nice rendering.