🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Best methods to do large 3D Terrain Rendering

Started by
10 comments, last by Enzio599 2 years, 7 months ago

I want to render a very large natural looking terrain. My estimated goal is to render 64km x 64km. For that I am researching for terms like Erosion, Quadtree, CLOD, layers, sculpting brushes.

what are the other topics I need to research for terrain rendering. What are the features to implement what my terrain can have. I want my terrain to have these:

Erosion,

Quadtree,

Tessellation,

Deformation from explosion,

Roads and bridges,

and obviously layers of textures such as rock, grass and ice as well as masking layers for grass rendering etc.

How should I manage all these. A good resource with some code snippets should be very helpful.

also tell me what is the best way to do implement sculpting brushes. Should it just be a circle polygon or projected texture.

thanks.

Advertisement

A lot of terrain is generated by noise algorithms. Some people use Perlin noise. I use Simplex Noise (also invented by Ken Perlin) . You can feed noise into various terrain algorithms. One that I like is the ridged muli-fractal algorithm. Also this site https://www.redblobgames.com/​ has a lot of good information. Whatever you use, as your terrain gets bigger storing it becomes an issue. I get round this by generating and doing LOD on terrain directly from the functions so I don't store anything, at least currently. That's not to hard as long as you are doing height mapped terrain. When you get to supporting caves and stuff you may want to use voxels with marching cubes, dual contouring etc. That stuff gets pretty complex, at least it was for me. At some point I'll add something to store just the differences from the base terrain functions so I can support some editing. There's currently a of experimentation going in with this stuff.

My general advice is don't worry about the actual generation algorithms so much. You can play with that stuff later. The key is to have a good systems to deal with meshes, LOD, chunking (if you're using it), etc.

would like a list of most common techniques used in game terrain rendering …

Recently there was this, in case you missed it:

@Enzio599

Enzio599 said:

would like a list of most common techniques used in game terrain rendering …

IMO you should at least come up with requirements. Height mapped terrain (no caves, overhangs or very steep cliffs) is a different problem than fully 3D terrain with subterranean areas. These elements can still be supported with height mapped terrain, but they aren't naturally supported by the terrain generation and require specialized routines. Also you should come up with some idea just how big you want your terrain to be. Are we talking a large areas that can still conceivably be stored on disk as meshes, or entire planets which can not? Finally anything where you want the player to be able to change terrain in random ways will probably require some form of voxels.

Lets just assume for now that i don want overhangs or very steep cliffs…

Caves can be rendered fully as meshes with hole in terrain… then how to manage a hole in terrain?

So what should be in focus to do efficient height mapped terrain?

What are the techniques employed?

Video joel posted is very informative too btw…

This topic is closed to new replies.

Advertisement