Making a terrain engine (master thesis)

Started by
39 comments, last by thallish 17 years, 10 months ago
Hi For my master thesis, that will be on computer graphics I have chosen to concentrate on the creation of a terrain engine. Right now and through the summer I'm browsing the scene and I want to get as much input on which techs, algorithms, graphical quirks, like scenegraph, terrain generation, lighting, shaders and so forth, that a modern terrain engine should contain. Im using DirectX and C++ for implementation and the finished work is to be delivered in june 2007 so I got more than a year for the theoretical and pratical parts. I need to get as much info before I start so that I can take a good or at least better estimate on what I should strive for. I have gotten small bits and pieces of information from here and there on the web and I have also searched this site but I have not found any collected brain storm on the subject of terrain engines. So here is the deal. Anything that you think would be a part of a terrain engine. And I'm really talking about getting every little bit of information that you think could be relevant, that would be in depth discussions, keywords or links or whatever you feel like, so empty all those great minds and enhance the knowlegde of the community (and me of course ;-)) regards thallish
regards/thallishI don't care if I'm known, I'd rather people know me
Advertisement
Are you looking at just terrian, or things like water and vegetation as well? Anyway, for terrain you've got the following:


  • Geometry: The main algorithm's being ROAM, ROAM 2, geo mip mapping and geo clipmaps. I think these are the big ones at the moment.

  • On top of that you need culling, both out-of-view culling and occlusion culling (PVS data I think, but I haven't looked into it much - but I do have a paper on voxel column culling which looks nifty).

  • Then it comes down to lighting and materials so you'll probably want to look at self shadowing, splatting and if you want to be really cutting edge - a megatexture like approach.



That's all that comes into my head at the moment.
Ollie"It is better to ask some of the questions than to know all the answers." ~ James Thurber[ mdxinfo | An iridescent tentacle | Game design patterns ]
I am also interested in ideas, articles and more about vegetation and water to answer that question ;-) (nothing more exciting than a shallow lake with weeds around it) I will hopefully get a lot of information and then I will sort them out after relevance and time.

Good start keep the ideas comming :-)

regards
thallish
regards/thallishI don't care if I'm known, I'd rather people know me
I think that for most applications todays the best you can do is just ignore the whole LOD-thing altogether and just brute force everything. Unless you need an "almost infinite" terrain (which of course would require LOD) I think a better way is to just create a huge terrain, split it up into reasonable chunks for view frustrum culling, and apply some decimation techniques (split triangles on chunk borders, of do the "loose bounding volume" thing where you just put each triangle in the BV in which it's centroid is, and then expand the BV to encompass the whole triangle). Google for TIN (Triangulated Irregular Mesh).

I really think LOD is more trouble than its worth for a static terrain, just find a good static mesh and brute force it. For texturing I suppose a per-chunk texture would be neat, and then have different texture LODs for each chunk, stream in high res versions of the textures covering the close-by chunks.
The Game BattleField2.very useful.download the BattleField Editor from EA.
I would highly highly suggest the book Real-Time 3D Terrain Engines Using C++ and DirectX 9
[size=2]aliak.net
Quote:Original post by IFooBar
I would highly highly suggest the book Real-Time 3D Terrain Engines Using C++ and DirectX 9


Already got that one :)

Well i have got a lot of keywords I can work with and I will try to get indepth articles of the subjects mentioned. A google on the right subject did wonders.
But keep the opinions comming. I appreciate it ;-)

regards
thallish
regards/thallishI don't care if I'm known, I'd rather people know me
Theres been some great threads on terrain in this forum in the past, you'd get lots of info out of them.

These would be a good starting point, although theres plenty more. [grin]
the theme of disscussion is quite vague. its like, you telling people you are building a car. and expect them to tell you how you can make great car. the thing is, what kind of car are you making? fastest car? strongest car(stronger than trailer), cheapest car, luxury car... and the list goes on.

the thing is, you are a masters student, which i assume by now you must have solid understanding of your needs. what is your domain? the domain problem? please be clear.

terrain engine is one huge ass topic. i personally love it.
Well the question is as vague as people see it. I asked what people think would be a part of a terrain engine or to go with the car analogy, what makes a good car. I am not asking how to make it, I am asking about what bits and pieces that make up the car. This is just preliminary inquires, if I dont know that a car needs wheels, how can I find out about how to use wheels in a proper fashion. I need to get a firmer understanding on which area I want to go deeper into, and thereby establish my problem domain:-). I know that there is a lot to terrain engines, and this query is to get an idea on to what other people think of the concept "terrain engine".

OrangyTang: Thx for that link :-)

regards
thallish

EDIT: Formulation

[Edited by - thallish on May 22, 2006 6:25:19 AM]
regards/thallishI don't care if I'm known, I'd rather people know me

This topic is closed to new replies.

Advertisement