Sign in to follow this  

Alternatives to heightfields in terrain representation?

This topic is 4723 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I'm currently reseaching on terrain generation and realized that almost all papers and tutorial use a heightmap to represent the terrain data. As heightfields doesn't allow overhangs and tunnels I'm curious what other data stuctures can be used in the process of terrain generation to overcome these limitations. If anybody could give me some hints or point me to some articles discussion alternatives I would be very gratefull! Thanks, benderB

Share this post


Link to post
Share on other sites
Once I found a website with a 3D terrain engine capable of creating caves, overhangs, archs. It even had a nice demo. The library was open and free. It was discontinued work but looked very good. Search a little in google and you may find it.

Luck!
Guimo

Share this post


Link to post
Share on other sites
Quote:
Original post by darookie
How about parametric representation? Heightfields are not that bad, though.

I have to disagree, terrain heightfield are the spawn of the devil :)

Seriously, heightfields are a very bad representation for a terrain, with more limitations than it's worth. On todays' hardware, there are no reasons to use them anymore.

I personally use a high order parametric system with realtime fractal generation. See the terrain as a 2D signal in the frequency domain. The HOS generate the lower octaves, while the seeded fractal generator adds the high octaves. This allows for virtually infinite detail, controlled terrain shape, and every kind of topographic feature you can imagine (caves, overhangs, everything).

There was a thread (or threads) way back then, where I explained the system in great detail. I'll have to check my bookmarks.

Share this post


Link to post
Share on other sites
Thanks for the suggestions so far! (but keep 'em comming ;))

About the loading of 3d models:
That's not quite what I'm looking for, as I'm more interested in an alternative data model when generating fractal terrain (should have been more specific..).

This "high order parametric system" sounds interesting I'll have to see if I can find some info on that...
Maybe there's a paper or a good link on this topic?

thanks,
benderB

Share this post


Link to post
Share on other sites
The reason why height map is often used is because originally was used coupled with a telemetric system of relevation, using fractals is mandatory because as far as i know is very difficult to 'fractalize' a mapped terrain.
Any thoughts ? i have used a fractal terrain it gave me an huge satisfaction no lod or precomputation required and fast triangle stripping but the main problem was taht i couldn't load an already mad terrain .
by the way if someone know how to 'fractalize' a map please let me know.

Share this post


Link to post
Share on other sites
I'm doing something like what YannL said but with Catmull-Clark subdivision surface (ie, quad-based subdivision). Subdivision gives you a smooth surface and fractals displace along the surface normal to give detail. When modelling the terrain I also limit the control mesh to only allow quads (no tris, etc) - this is because alot of terrain algos (like LOD) rely on quad patches. To do this I (i) start with a heightfield generated by Terragen, (ii) convert it to a bspline surface (2D array of control points whose surface passes through heightfield) which is actually a Catmull-Clark subdivision surface, (iii) load it into Blender and (iv) the artist can only do operations which remove/create control-mesh quads (eg, extruding quad faces). Also worth noting is the extraordinary vertices (where number of quads at vertex is != 4) create some difficulties with texture blending, generating texture coords, etc, but you'd have those problems with any arbitrary topology terrain.

Share this post


Link to post
Share on other sites
Hi again,

I've tried to find some info on the parametric surface thingy but without much luck.
The only thing I found was a paper by Gamito & Musgrave which describes data handling for Landscapes with overhangs and they use parametric functions:

http://www.dcs.shef.ac.uk/~mag/epcg10.pdf

But I must admit that I'm lacking mathematical knowledge to fully comprehend what is said...

About the thread pointed out:
I read through it, but couldn't find any usefull info about the "high order parametric system", maybe there's another thread, but I can't find anything through the search (e.g. Google).

Another thing I found as alternative to heightmaps was the use of contour maps.
Are they any good for fractal terrain generation?

Anyway, thanks for the support!
benderB

P.S.: A quick question on the side: Is there a difference between "Fault Formation" (as described in the Game Programming Gems 1) and "Poisson Faulting" ?

Share this post


Link to post
Share on other sites
the easiest thing said for you to try was just to use an arbitrary mesh to represent the level.
you have to spacially divide it probably with an octree cause its the easiest and you use that to pick triangles to edit it.
i suggest making your own terrain EDITOR which is a mission, but if you want to
get good you should give it a whirl.

boolean objects would be your greatest asset, you could make tunnels, build
new hills, destroy areas, they are really good.

i wouldnt go looking on the net for any of this shit, its all poorly explained
too difficultly. you gotta work it out for yourself. but first you gotta equip yourself with these things:

3) line-plane intersector
1) line-triangle intersector
2) triangle-triangle intersector
you gotta know what dot and cross products are, the more maths functions you
find the better. pretty much.
and that should get you going.

Share this post


Link to post
Share on other sites

This topic is 4723 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this