I collected information about terrain rendering on my notebook a while ago. You can find it at http://www.gamedevpensieve.com/graphics/3d/landscape .
Learning C++, Terrain Generation
@spinningcubes | Blog: Spinningcubes.com | Gamedev notes: GameDev Pensieve | Spinningcubes on Youtube
Smkviper is wise...
Start with rendering a triangle.
Generate an isosphere. Give it an equirectangular uvmap. (You can download free planet textures to test it)
https://github.com/jeske/SimpleScene/blob/master/SimpleScene/Util/IcoSphereCreator.cs
Generate some random noise into an equirectangular "displacement map" texture. Use it to displace the isosphere verticies, possibly on the gpu.
Control the isosphere tesselation with a screen space size approximation. So parts of the isosphere close to the camera are subdivided more. Use caching, or gpu tesselation.
Replace the premade displacement map with a generation function, and generate pieces only when needed, at different levels of detail.
That should get you close..
Start with rendering a triangle.
Generate an isosphere. Give it an equirectangular uvmap. (You can download free planet textures to test it)
https://github.com/jeske/SimpleScene/blob/master/SimpleScene/Util/IcoSphereCreator.cs
Generate some random noise into an equirectangular "displacement map" texture. Use it to displace the isosphere verticies, possibly on the gpu.
Control the isosphere tesselation with a screen space size approximation. So parts of the isosphere close to the camera are subdivided more. Use caching, or gpu tesselation.
Replace the premade displacement map with a generation function, and generate pieces only when needed, at different levels of detail.
That should get you close..
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement