You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the not too distant future I want to start work on a terrain system. A sensible set of interfaces for static (but in some cases, editable but still not transformable) geometry in the simulation space to be traversed.
Simple terrain pieces, be them heightfields or meshes, should be placeable with no overhead in the simplest version. It is expected that all the terrain geometry will be loaded at once. A slightly more advanced version would introduce paging (the loading of terrain chunks that the observer(s) are near but unloading everything else), but the terrain would still be paged along a plane. The most advanced version would also involve paging, but would be paged along a sphere or a very close approximation.
Additional "tiers" of terrain may be appropriate, but those seem like the minimal set we should aim for. Paging along a plane can be tricky, but countless examples exist out in the wild and shouldn't require much research on our parts. Zero paging is brain dead simple and we can accomplish that now with minimal hacking. Planetary simulations with appropriate LOD is a bit more complicated. So to properly account for them in the terrain system interfaces we'll have understand planetary simulation better.
More links will be added to this list as time goes on and I find more resources. This issue WILL need to be broken up and worked on incrementally in child issues, but at current we aren't educated enough on the scope of the task to make those issues. Despite that this can remain for centralized discussion on the topic.
The text was updated successfully, but these errors were encountered:
In the not too distant future I want to start work on a terrain system. A sensible set of interfaces for static (but in some cases, editable but still not transformable) geometry in the simulation space to be traversed.
Simple terrain pieces, be them heightfields or meshes, should be placeable with no overhead in the simplest version. It is expected that all the terrain geometry will be loaded at once. A slightly more advanced version would introduce paging (the loading of terrain chunks that the observer(s) are near but unloading everything else), but the terrain would still be paged along a plane. The most advanced version would also involve paging, but would be paged along a sphere or a very close approximation.
Additional "tiers" of terrain may be appropriate, but those seem like the minimal set we should aim for. Paging along a plane can be tricky, but countless examples exist out in the wild and shouldn't require much research on our parts. Zero paging is brain dead simple and we can accomplish that now with minimal hacking. Planetary simulations with appropriate LOD is a bit more complicated. So to properly account for them in the terrain system interfaces we'll have understand planetary simulation better.
Here is a small collection of links I have found on the subject that seem helpful -
Technical/Academic Papers:
http://www.mutantstargoat.com/bekos/files/doc/gbekiaris.thesis.msc.pdf
http://www.twandegraaf.nl/Art/Documents/Procedural%20planets%20into%20detail,%20Twan%20de%20Graaf%202012.pdf
http://gamedevs.org/uploads/deferred-rendering-of-planetary-terrains-with-accurate-atmospheres.pdf
http://old.cescg.org/CESCG-2009/papers/PragueCUNI-Elek-Oskar09.pdf
http://www.vis.uni-stuttgart.de/~schafhts/HomePage/pubs/wscg07-schafhitzel.pdf
https://www.cse.unr.edu/~fredh/papers/thesis/046-mahsman/thesis.pdf
http://worldcomp-proceedings.com/proc/p2013/CGV4061.pdf
http://elib.dlr.de/86477/1/Collienne_GI_VRAR_2013.pdf
https://graphics.llnl.gov/ROAM/
https://cesiumjs.org/massiveworlds/
http://www.stereofx.org/papers/TERRAIN.PDF
http://andrew-flower.com/assets/projects/defter-thesis-f9a659feea18ffe347b24e3bbfc054d8.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.136.2768&rep=rep1&type=pdf
http://developer.amd.com/wordpress/media/2013/02/Chapter5-Andersson-Terrain_Rendering_in_Frostbite.pdf
Generic Articles/Discussions:
http://stackoverflow.com/questions/16494699/best-clod-method-for-planet-rendering
http://stackoverflow.com/questions/22104128/simulating-orbits-using-laws-of-physics <-- Not strictly related to terrain.
https://www.gamedev.net/topic/637715-terrain-generation/
https://www.gamedev.net/topic/646084-4d-perlin-noise-terrain/
http://gamedev.stackexchange.com/questions/16563/how-are-voxel-terrain-engines-made
http://www.gamasutra.com/view/feature/131451/a_realtime_procedural_universe_.php
http://www.gamasutra.com/blogs/DanielMaslovsky/20161018/283317/Bending_Unity_to_Carry_Spherical_Voxel_Planets_in_Planet_Nomads.php
http://casual-effects.blogspot.com/2014/04/fast-terrain-rendering-with-continuous.html
https://www.shaneenishry.com/blog/2014/08/01/planet-generation-part-i/
http://robert-lindner.com/blog/planetrenderer_week1/
https://dexyfex.com/2015/11/30/planetary-terrain-rendering/
http://leifnode.com/2014/04/planetary-scale-lod-terrain-generation/
http://richardssoftware.net/Home/Post/29
http://richardssoftware.net/Home/Post?id=30
Library Articles/Discussions:
http://libnoise.sourceforge.net/tutorials/tutorial8.html
https://github.com/sp4cerat/Planet-LOD
https://www.seedofandromeda.com/blogs/49-procedural-gas-giant-rendering-with-gpu-noise
https://www.seedofandromeda.com/blogs/51-procedural-star-rendering
https://www.seedofandromeda.com/blogs/58-procedural-heightmap-terrain-generation
http://blog.marekrosa.org/2014/12/space-engineers-super-large-worlds_17.html
http://www.mavorsrants.com/2013/02/planetary-annihilation-engine.html
Complete Planetary Middleware:
http://www.outerra.com/
http://www.keenswh.com/vrage.html
Voxel Resources:
https://bitbucket.org/volumesoffun/polyvox
More links will be added to this list as time goes on and I find more resources. This issue WILL need to be broken up and worked on incrementally in child issues, but at current we aren't educated enough on the scope of the task to make those issues. Despite that this can remain for centralized discussion on the topic.
The text was updated successfully, but these errors were encountered: