Making a terrain engine (master thesis)

Started by
39 comments, last by thallish 17 years, 10 months ago
The usual reference for terrain engine is vterrain.org which is a great site with all types of ressources.

What I would expect from a modern terrain engine is to support the following features :
- support huge area of landscape with great level of detail
- look good with very high level of detail and react to lighting
- let my game engine interact easily with it
- don't eat all my processing power.

Each of these area have been adressed by lots of peopple and you will find lots of ressources. Here are some big area of research ;
- Terrain level of detail (ROAM, ROAM2, smooth geo-mipmap, geo-clipmap,...),
- Terrain data compression, paging, streaming (dynamic terrain generation, data streaming,...),
- Terrain texturing (splatting, multitexturing, procedural texturing, normal mapping for terrain, Quake 4's megatexture, texture compression, texture streaming,...), athmosphere shading (atmospheric scaterring, ...), shadowing (shadow map ; variance / percentage closer filtering, LiPSM / trapezoidal / cascaded / parallel splitted)
- Physics for terrain (don't know any, never worked on that).
Advertisement
nothing to say

[Edited by - swstudio2002 on May 23, 2006 9:19:08 PM]
I don't know if its been mentioned but you don't really need LOD on todays hardware (unless you want it to run on a GF3 or something). Anyways, Carmack has a new MegaTexture idea that has like 5GB of terrain texturing and no LOD. You can customize the texture etc. There has been a decent sized discussion on it just recently on these forums and a lot of other sites. It seems awesome.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Just to help people out who want to get to the links from swsudio2002 easier (btw use HTML tags):

Quote:Original post by swstudio2002
http://bbs.gameres.com/upload/sf_2006317165457.rar
a simple terrain demo with a lot of bugs but show you the basic technology.

heightmap:
http://bbs.nudt.net/attachments/month_0604/TerrainHeightChart1_Bp4qP1jh9cWI.jpg
mesh
http://bbs.nudt.net/attachments/month_0604/suXNvDI=_DTmJX9bR2ohW.gif
http://bbs.nudt.net/attachments/month_0604/suXNvDJfMg==_XjYl20DW4jMl.gif
eliminate
http://bbs.nudt.net/attachments/month_0604/suXNvDM=_m7T6iN1jZu1e.jpg
texture detail
http://bbs.nudt.net/attachments/month_0604/suXNvDU=_ZbyY10TULDrX.gif
http://bbs.nudt.net/attachments/month_0604/suXNvDVfMg==_dl0sBlvfZMfK.gif
skydemo
http://bbs.nudt.net/attachments/month_0604/suXNvDQ=_XDa8MZBbIHZB.gif
sun
http://bbs.nudt.net/attachments/month_0604/suXNvDE=_rvgzapxteFna.gif
water
http://bbs.nudt.net/attachments/month_0604/suXNvDY=_QHw7r7Ltfvww.gif

final output
http://bbs.nudt.net/attachment.php?aid=38806
http://bbs.nudt.net/attachments/month_0604/suXNvDc=_MqEYNiREjfiy.gif
http://bbs.nudt.net/attachments/month_0604/suXNvDdfMg==_ULoPDgsQzo49.gif

full doc in chinese:
http://bbs.nudt.net/attachment.php?aid=35813


*phew* Done!

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Quote:Original post by Mike2343
Just to help people out who want to get to the links from swsudio2002 easier (btw use HTML tags):
................
*phew* Done!

I am sorry~thank you.
Oh, don't be sorry. Was just letting you know for the future. Took me 2 minutes to do that :) Thanks for all the links.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Quote:Original post by Mike2343
I don't know if its been mentioned but you don't really need LOD on todays hardware (unless you want it to run on a GF3 or something).


Or if you want large enough scenes... Of course it's less necessary these days but I mean, unless you're doing UT 2k3 or something you'll need some kind of LOD scheme, won't you?
Quote:Original post by Niwak
What I would expect from a modern terrain engine is to support the following features :
- support huge area of landscape with great level of detail
- look good with very high level of detail and react to lighting
- let my game engine interact easily with it
- don't eat all my processing power.


To add a few more:
- support overhangs/caves
- no popping with lod scheme (ie. geomorphing)
- realistic static and dynamic lighting
- constant FPS (using things like occlusion culling and CLOD)
- scalable between brute force rendering and highly optimized CLOD
- arbitrary view distance (!)
Quote:Original post by averisk
Quote:Original post by Mike2343
I don't know if its been mentioned but you don't really need LOD on todays hardware (unless you want it to run on a GF3 or something).


Or if you want large enough scenes... Of course it's less necessary these days but I mean, unless you're doing UT 2k3 or something you'll need some kind of LOD scheme, won't you?


Honestly why do you need it? The GPU can more then handle the verticies. You're not sending the ENTIRE terrain to the GPU, just the stuff within the rendering boundries. It will take more CPU power to remove a few verticies for what? You'd be better off spending that CPU time doing collision detection, AI, etc. People I swear get stuck on old habits and refuse to budge. If after profiling your rendering code you notice that lack of LOD is just killing your FPS (very doubtful unless you're rendering off to 40 miles distance for a UT2k3 type game) you can easily add it in later.

We did a terrain engine test about 8 months ago. I forget what the vertex counts were, nothing outlandish, but it was for a 5x5 or 8x8 mile area (forget also) and our major hurdle was the LOD system. I removed it and we got a 15% FPS jump on average. Several different LOD (based on existing techniques) were used and all took away from the brute force, no LOD method. *shrug*

Don't get me wrong, I'd still LOD textures (even terrain), models, etc. Just not the terrain geometry.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Quote:Original post by Mike2343
...
Honestly why do you need it?
...
averisk gave you an honest answer in the post you quoted. Many modern games and other applications don't want to be limited to such a small area as 8 square miles. Just look at something like what Ysaneya is doing and then say there's no need for terrain LOD. And if you aren't using up all of your card's vertex processing power on the terrain, you have more power to spare for using more detailed characters or other objects.

I agree that on smaller areas of terrain LOD calculations can be a bottleneck and are probably not worth it, but on larger terrains they definitely are worth it.

This topic is closed to new replies.

Advertisement