Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Chris Egerter, posted on March 05, 2001

Image Description, by Chris Egerter

Here are a few screenshots of my new terrain engine, running on a ATI Radeon with DX8. The entire scene is rendered with hardware T&L and it's running at full frame rate with around 140,000 tris total per frame.

Features are: fully deformable terrain, quadtree visilibity, dynamic soft shadows, rippling reflections using EMBM, skycube and moving cloud planes, can draw directly on the terrain texture so scorch or tread marks last forever, wrapping world so you never reach a world boundary, automatic terrain texture generation, WYSIWYG editor in development, drag and drop objects in the world.

Bigger screenshots and more information is at Sorry no public demos yet.

Chris Egerter

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

March 05, 2001, 02:19 AM

I just want to say that I really love these shots. I'm working on something similar. Hope it turns out this nice.
How does EMBM compare to the bump mapping available on nVidia cards? I don't have an EMBM capable card to develop on, so I'm not sure how the methods/results differ.


March 05, 2001, 03:47 AM

Looks nice =)
btw. any good doc's on skycubes out there?



March 05, 2001, 04:09 AM

Sorry, if this is obvious to most of you but..

How have u generated dynamic soft shadows?



March 05, 2001, 04:31 AM

that is really sweet looking. is it a flight sim?


March 05, 2001, 05:22 AM

Very very nice...

You can have very slow environment bump mapping on a GeForce, but it is to slow to be of any practial use. However, environment bumpmapping isn't important anymore because you can archieve far better effect with pixel shaders.

Since he uses D3D, he can do a simple render to texture to generate the soft shadows, I think.

Frans Bouma

March 05, 2001, 05:50 AM

Which Radeon drivers did you use to get stable Dx8 performance? IIRC there is no stable dx8 ati driver for the radeon, all crash my win2k box with a stop 0a or 1e every time I try to do something excessive with dx8... :(


March 05, 2001, 06:26 AM

Your terrain looks very nice.
Which way you generate terrain data ? do you combine few techniques or something else

Tobias Franke

March 05, 2001, 08:11 AM

Wow, this one looks pretty sweet! I wonder if I'll ever reach this level of a terrain renderer...

Phil Carlisle

March 05, 2001, 08:43 AM

Funky shot Chris!

Is it right that PR is getting a C++ port?

I'm eager to see what youve done for a terrain editor :) still need a lot of work on mine before its useful :))

Anyway, you know your my hero :)) hahaha..



March 05, 2001, 09:25 AM

cool shots first of all. this are lookin' pretty good, although its just the common type of terrain engine ( i'm missing small rocks and stuff you find everywhere on real terrain ).

it looks like the Trees in the top right corner pic arent affected by the depth fog. this seems to be a small bug to me.

i think deformable terrain is a nice idea.

Did u try your engine on another graphics board, for example a nvidia Geforce (TNT2 wont run well cuz TnL). I think the EMBM water effects aren't very fast on a nv10+15. i remember a small demo by nvidia, using EMBM, running @ ~20fps on my GeForce 256 SDR.

Another Thing that would be cool would be to have some nice refractions, there is a cool demo by Laurent Lardinois, which uses a fast approach for nice Refraction mapping.

that's it for now :)

keep on codin', cuz it r0x !


The Wolf

March 05, 2001, 09:43 AM

This is great, we've been getting a lot of exceptional IOTDs lately.
Very nice work, does your engine have LOD capability?

The Wolf

March 05, 2001, 09:45 AM

Oh yeah! and tell us about the trees. Are they generated or pre-made meshes?

Andrew Cox

March 05, 2001, 10:48 AM

I read your WGT tutorials when I was first starting out with PC programming. I probably still have my Watcom protected mode reimplementation of your 'Dan Quale' demo on a floppy somewhere.

Good to see you are still doing excellent things.

BTW, what version of the Magic Carpet engine is this ;-).


Neil Armstrong

March 05, 2001, 11:12 AM

Looks really great, I'm thinking about getting a radeon now.


March 05, 2001, 11:17 AM

omaha_os3: No Geforce cards support true EMBM right now. Wait for GF3 :)

Telemaco: Soft shadows are done by projecting objects onto a ground plane (y = the height of the landscape under the object), and drawing on the terrain texture. I use 3 copies of the terrain texture to
do this properly. (no shadows, static shadows, dynamic shadows)

shrike: It's an engine. I am not making a game with it...yet :)
You can make anything you want with the engine (RPG, driving,
flight sim, RTS, etc)

Frans Bouma: My driver version says 7.20-0110b. I don't know if these were beta drivers or where I pulled them from.

STZ: I don't generate the heightfield. I do have a very complicated algorithm for generating the world texture though, involving texture blending, midpoint displacement, raytraced shadows, and gaussian blurring :)

Phil: I haven't started a C++ port yet. Figured I should get this version done first. The editor is sweet. Changing the heightfield around in 3D with the reflections is so nice. I'm adding in higher level stuff like collision volumes and tree placement generation (ie forests) now.

darkyoda: I plan on having detail objects. They will be like a starfield effect, randomly placed in front of you after they move behind you. It's pretty simple and will let you add little rocks and twigs lying around for scenery. The trees aren't fogged correctly. It is a bug. If you don't have a card capable of true hardware EMBM you won't see the reflections and you get a plain blue water effect.

The Wolf: There is no LOD involved. I'm using a sliding window technique and generating a new set of vertex buffers every grid space moved. This means if you're moving around within one grid unit or just looking around it's not doing any cpu work. The trees are premade objects.


March 05, 2001, 11:53 AM

What is full framerate? what is it? It doesn't make any sense!


March 05, 2001, 01:35 PM

The screen shots look amazing. But how do you do the water effect and what does it look like moving?


March 05, 2001, 01:56 PM

I went to and saw what you meant by full framerate 24fps, well thats all and good, but is it really useful in a game, remember ai, collisions, etc...and i mean most people dont have the power of a radeon or geforce2, never mind hardware accelerated EMBM.

Is there any way to get these results without using specific future supported features as pixel shaders and EMBM? I mean the standard ones that come with DX8, able to be supported in software too if the person doesn't have hardware.

Anyways, I am still impressed, hope my streaming landscape idea works soon and looks this good, im having problems with drawing DX8 indexed verts correctly, I really hate them :)


March 05, 2001, 02:33 PM

By full frame rate I mean the refresh rate of my monitor (currently 60 fps). The lower frame rates were taken when I was running in a debug build. This just means I have room to spare for adding the logic for the rest of the game. Of course you can scale back the draw distance, but right now I'm really trying to push the engine to see what the limits are. Also if you turn off the reflections you cut the poly count in half and leave more room for that stuff.

If the hardware doesn't support EMBM, I'm not about to emulate it through software. This would just slow down an already slow system even more. It's just eye candy for people that have cool hardware.

FuMo: I scroll the UV coordinates of the bump texture, so the ripples change while you're sitting still. With a good bump texture this makes it look very realistic.

Andrew: I think this is version 42 of the magic carpet engine :)

zed zeek

March 05, 2001, 05:27 PM

excellant though the water is a bit overdone ( i expect this is the next big thing to stick in a screenshot like lens flares used to be hehe , im not complaining! but ppl dont go overboard ;) )
>> wrapping world so you never reach a world boundary


March 05, 2001, 06:15 PM

Oooh lets land the delta flyer on that m-class planet over there...

I guess that if you're doing a second pass for your fog then you need to draw the trees before that. But then, what do I know about hardware rendering.

Other than that, I'm speechless!


March 05, 2001, 06:32 PM

God damn!

How long have you been in this business Chris?


March 05, 2001, 10:04 PM

sigh... with every one of these beautiful shots my chances of ever writing something even halfway decent get all that much smaller...

sweet mother of pearl there's some nice stuff going on out there... now if only there was such a thing as learning through osmosis :)

oh, and in case i forgot to mention: very nice!


March 05, 2001, 10:33 PM

TechBucket: I've been making development libraries since around 1992.

Imagine what this will be like when I get some real objects in there other than my lame tree :)


March 05, 2001, 11:06 PM

Awesome engine man! Is the little guy in the bottom left pic animated yet? Looks sweet!


March 06, 2001, 01:53 AM



March 06, 2001, 01:59 AM

God damn! Those are sweeet! I'm now thinking of reconsidering using DX after seeing those shots...

Leon Rauis

March 06, 2001, 02:18 AM

You said you use a sliding window type technique so that you only update vertex buffers when the camera moves from grid point to grid point.

Is there a noticeable dip in the framerate when this happens? Or have you in your ingenuity smoothed this out? (And if so how?).

Phil Carlisle

March 06, 2001, 06:40 AM

Hmm, sliding window was something I had discounted, but I guess it depends on the grid resolution in general as to how it works.

My landscape isnt far off the same technique (I dont use all that fancy shmancy stuff tho :))

So how big is the window your using chris? how many grid points are you actually using for the window?

I was a bit worried that it would cut off the draw distance (which is something I hate), but yours seems to look fine.

The shots on the PR site look pretty nice, especially the editor (I am soooo jealous :)) I have to write the same damn thing myself :))

Add support for camera placement into your editor? and camera pathing?

Looks like PR is coming along nicely :)



March 06, 2001, 02:15 PM


(Sorry, ancient inside joke. :)

This thread contains 33 messages.
First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.