L3DT users' community
Large 3D terrain generator

Real-Time Terrain Rendering Technique Exploration (RTTRTE??)

Any and all chit-chat regarding L3DT.

Real-Time Terrain Rendering Technique Exploration (RTTRTE??)

Postby Joshua » Fri Jun 09, 2006 10:10 am

As you might know, we've been developing a terrain workflow for our game project that's in development.

One of the goal's of the project is the most visually realistic outdoor enviornment yet achieved in real-time.

When researching LOD algorithms and the like (we eventually decided on geoclipmapping as a model), we struggled with the problem of requiring much higher detailed terrain at every given distance than any LOD system could reasonably accomidate. Even the hottest game engines, (Crytek's, Id's, ec) cannot represent terrain that has a reasonable level of detail at all distances.

One concept that we turned our attention to, was normal/parallax mapping. In game models, these techniques can indicate that a model has much more complexity than it actually does. The only real problem with these techniques is that they cannot "break silloutte," although some newer implementations have achieved even this hurdle. We have used the techniques extensively with our character and other model assets so it's only natural that we attempt to apply them to terrain.

The psuedo-workflow goes like this:

1. Create a terrain heightfield at double the size that you intend to use in-game (in our case we generate a terrain at 8192x8192). Apply as much complexity and realism to your maps as possible. We like to start with a L3DT design map, create the HF, then bring it into World Machine to add more algorithmic complexity and erosion (note you need the Standard Version of WM to do this). Then we bring it back into L3DT and regenerate the design maps.

2. Generate all additional maps: diffuse (in our case 8X instead of 16X due to the doubling), lightmaps, and normal maps.

3. Scale the heightfield down by 2. We've been using Photoshop for this and experimenting with different filters (they have varying results). This generates our real-time heightfield.

4. Create mipmaps (or your own LOD technique) of our RT heightfield (necessary in many LOD schemes including geoclipmapping).

5. For each Heightfield Mipmap level (other than 1 in our case), generate normal maps from the difference between the HF MM and the highres heightmap. Create different mipmap levels for the several normalmaps (+alpha if you're doing parallax mapping), using the same resizing technique (bicubic, nearest neigbor, etc...). To be effective I'd recommend quadrulpling the heightfield resolution on all levels but 1 (closest to cam).

6. Use a shader to apply the changes real time. Theoretically, we should see a much higher level of detail than would be geometrically possible, that extends into the distance.

As all texuring and lightmaps are based on the higher resolution heightfield, the effect should be smooth. For the nearest LOD level we plan on using normal maps to represent our detail layer (per type), rather than the high mesh geometry, as it could cause complications with its interaction with characters who use a physics hull based on the actual geometry rather than implied geometry. Depending your LOD algorithm your mileage with this particular challenge may vary.

That's the basic idea. We're in the process of testing it out on third-party rendering engines right now. We'll like to hear any thoughts or feedback from the community, or perhaps just spark a few peoples interests in trying it for themselves.
Joshua
Luminary
 
Posts: 59
Joined: Thu May 04, 2006 8:57 am

Postby DeathTwister » Fri Jun 09, 2006 3:03 pm

WOW just saw this in GG post check it out.

http://www.garagegames.com/mg/snapshot/view.php?qid=1214

Can this work with us? it sure sounds like it???

OMG you aussuies sure are awesome dudes, maybe I should move to your contry where the cool peeps are???? /chuckles

DT
User avatar
DeathTwister
Dearly missed
 
Posts: 562
Joined: Thu Dec 15, 2005 12:30 pm
Location: Klamath, CA.

Postby Joshua » Fri Jun 09, 2006 7:30 pm

Looks a bit like the same old same old. But I'll read it. :wink:
Joshua
Luminary
 
Posts: 59
Joined: Thu May 04, 2006 8:57 am

Postby Rofar » Fri Jun 09, 2006 9:43 pm

I hope you keep us informed with how this turns out.
Rofar
Luminary
 
Posts: 51
Joined: Tue Nov 22, 2005 10:48 pm
Location: South Carolina

Postby JavaJones » Fri Jun 09, 2006 10:59 pm

I'm not a realtime developer or anything so I won't have much to contribute but as a user, a player of realtime 3D games, this sounds very exciting. Please share images with us as soon as possible. :D

- Oshyan
Visit Outland - Off the beaten path...
JavaJones
Doyen
 
Posts: 115
Joined: Mon Nov 21, 2005 10:18 pm
Location: Outland, CA, USA

Postby Aaron » Mon Jun 12, 2006 7:24 am

Hi Joshua,

That sounds like a very sophisticated technique. If possible, can you post a screenie or two with and without the normal/parallax mapping shader enabled? I'd love to see how well these sorts of tricks work.

Cheers,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia

Postby Joshua » Mon Jun 12, 2006 7:05 pm

Well, at this point we're working out the design and techniques. But I can show you what some others have been able to come up with using real-time normal mapping on HF based terrains. The main difference between an implementation like this one:

http://fl-tw.com/Infinity/Media/Screens ... new_56.jpg
http://www.fl-tw.com/Infinity/Media/Scr ... new_33.jpg
http://fl-tw.com/Infinity/Media/Screens ... new_62.jpg
http://fl-tw.com/Infinity/Media/Screens ... new_30.jpg

And what we're suggesting is that most RT NM attempts to generate splat/turbulence based normal mapping whereas, we're suggesting that the high res HFF normal map is one generated from programs like L3DT, and the actual HFF is a scaled down version. Remove detail, rather than adding it so to speak. I'll see if I can get more useful screens...
Joshua
Luminary
 
Posts: 59
Joined: Thu May 04, 2006 8:57 am


Return to General discussion

Who is online

Users browsing this forum: No registered users and 6 guests

cron