Outerra forum

Outerra Engine => Technology => Topic started by: Freeman on April 09, 2013, 11:42:50 pm

Title: Virtual Texturing?
Post by: Freeman on April 09, 2013, 11:42:50 pm
Just read a blog post about Virtual Texturing using on planet texturing: http://www.mavorsrants.com/2013/02/planetary-annihilation-engine.html (http://www.mavorsrants.com/2013/02/planetary-annihilation-engine.html)

And Infinity's planets/terrain texturing method: http://www.infinity-universe.com/Infinity/index.php?option=com_smf&Itemid=75&topic=7598.0.html (http://www.infinity-universe.com/Infinity/index.php?option=com_smf&Itemid=75&topic=7598.0.html)

I'm wondering what texturing method that Outerra using to achieve such a level of detail? What's difference between PA, Infinity and Outerra's terrain texturing method?
Title: Re: Virtual Texturing?
Post by: cameni on April 10, 2013, 06:07:28 am
I initially thought I'd say that OT's system is closer to Infinity's, but reading it more attentively I see that theirs is a lot simpler and limiting (but it's an ancient text, here's a recent update about Infinity's planetary engine enhancements (http://www.infinity-universe.com/Infinity/index.php?option=com_content&task=view&id=123&Itemid=49)).
So actually it would be better to take the PA's virtual texturing as the basis for explanation.

In OT the similarities are that there's something like a "resolver" that determines what LOD is needed where for terrain tiles. Technically it does the same thing: computes what texture resolution is needed for terrain chunks, based on an indirect screen-space metrics. Missing tile textures are the generated dynamically from terrain data - well, actually the terrain data are generated first, since these are procedural too. The texturizer arose from a system similar to Infinity's, taking altitude and slope into the account. Nowadays it's taking a lot more parameters into the decision process:  latitude, filtered terrain curvature and slope, additional fractal channels, data from the vector overlay etc. Biomes will expand it a bit too.