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

Submitted by Chris Egerter, posted on September 23, 2001

Image Description, by Chris Egerter

Here are some new screenshots taken from my Landscape Studio editor, which is part of the Power Render 4 engine.

In the two top images you see the new reflection code. Objects are clipped to the water plane, so anything below the water (including moving objects, no preprocessing here) will not appear in the reflection. Since you can't have user clip planes and multitexturing on Geforce cards this required some tricks and an extra pass. The scene has over 70,000 triangles and is drawn with 3 passes per frame. The water uses per vertex colors along with additive blending and camera space projection for the reflection texture.

In the bottom left you can see a BSP level modeled in Q3Radiant with shadows projected on the terrain. Shadows are drawn directly on the terrain texture using a software rasterizer rather than using shadow maps or shadow volumes. Since parts of BSP buildings can be below the terrain in this engine, you don't want underground parts projecting shadows. To solve this I am transforming the BSP to world space, then checking the height of the terrain at every vertex. If all vertices of a face are below the ground no projected shadow is drawn from that face. You can move, rotate, and scale the BSP buildings with shadows and reflections in realtime in the editor.

On the bottom right you can see inside the building that is shown on the left. It has dynamic lightmaps and PVS culling just like Quake3, and can use EMBM for walls. Walking between indoor and outdoor areas is completely seamless.

You can download a slightly older version of the engine and editor from

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.
Louis Howe

September 23, 2001, 03:56 PM

Yikes! That's amazing. Keep up the good work.


September 23, 2001, 04:10 PM

Absolutely amazing ... Unreal eat your heart out ...


September 23, 2001, 04:33 PM

Way cool man, it's the niciest thing until now. By the way this is my first post:)

Jeff Quesnelle

September 23, 2001, 04:40 PM

That water rules. I espically like the 2nd shot.

Jeff Quesnelle

September 23, 2001, 04:42 PM

What's wrong with It won't work...


September 23, 2001, 04:48 PM

Now that is brilliant. I must say if my engine looks half as good as that it will win an award.


September 23, 2001, 04:50 PM

You can use without 'www'


September 23, 2001, 05:45 PM

That's pretty good looking, there!!


September 23, 2001, 06:27 PM

*weeps onto keyboard*

..I've such a distance to go... :(



Christian Glodt

September 23, 2001, 06:36 PM

This looks really nice... I like the first image, it looks really organic. The fluid looks quite good, although I would have made the reflections more translucent. It's kind of hard to distinguish from the real object and its reflection, the sight is sometimes confusing (especially in the second image).

But still I must say your engine looks pretty professional. It seems to be rather feature-complete, and there's even an editor! Great! Keep up the good work!

zed zeek

September 23, 2001, 08:40 PM

chris I believe youve been working on your engine just as long as me, a never ending process sob :)
the screens look choice, but the pictures are a bit to small to see much. and both links to the powerrender site dont work for me (now + 2 hours ago).
theres something not right about those reflections in the water though, they look too perfect/strong (as in presense). shouldnt they only be that strong if the water was a true mirror? then again this is CG and not real life.
btw u can do clipplanes + multitexture (with a nvidia card) unfortunately the clipping will then be in software, its not *that* slow. well ok just a bit :p

Stefan Karlsson

September 23, 2001, 09:26 PM

i want a lifeguard there!


btw, she is a fakenicker to!


September 23, 2001, 10:52 PM

You can also use or


September 23, 2001, 11:14 PM

this must be OpenGL right ?


September 23, 2001, 11:21 PM

No it's DirectX 8.

I've just put up 3 new screenshots. You can find larger versions of some of these ones along with a lot more at :


September 23, 2001, 11:29 PM

Very nice shots. In my opinion though, water is highly reflective depending on what angle you look at it from. Unless ya look at it from straight up, it looks very reflective, also in brights light, at night it looks mor etransparent. But that's just from my observations. Nice pictures, any plans for a game?


September 24, 2001, 04:01 AM

Mm, nice shots. I always liked Unreal-style graphics.
How do you solve BSP-over-terrain visibility problems? And how big BSPs can you use in your engine?

Nikolay Stefanov

September 24, 2001, 09:34 AM

Nice shots!
I especially like the departure from Quake's inverted crosses and into David's stars :) You can release a demo called "The synagogue of Doom" :)

p.s. pozdravi na malkia!

Lars Birkemose

September 24, 2001, 09:38 AM

It looks pretty good :)
My personal opinion is...
With 70K tris, one could expect more details.
The reflections are cool, but shot 1 & 3 simply doesnt look right because theres nothing except the logs below the surface, and the reflections are much to strong.
Shot 2 is much much better, as you will get more reflections at this angle.
The indoor shot seems OK, but there is something wrong with the shadows on floor compared to ceiling...

Checking each vertex, in a 70K vertex scene... seems pretty expensive ?
Why cant you define custom clipplanes on a GF3 ? Driver issue ?



September 24, 2001, 09:54 AM

Zemedelec : BSP over terrain is my secret :)
BSP's can be any size and any number. Only limitation is memory.

Lars: Most of the polys are used in the terrain. BSP shadows are expensive but hopefully your buildings aren't moving. In the engine the static objects like trees only have shadows drawn once at the beginning. So unless you're building a Monty Python game where the buildings move around you're fine.

Clip planes on GF1/2 use up texture stages. With 1 plane you can only have 1 texture. Since most of this scene uses multitexturing (lightmaps, detail texture on terrain) I had to draw the scene without any textures to figure out what is clipped to the water plane.

zed: An engine is never done it seems.

If you think the reflections are too strong, wait until you see the actual demo. I think you can tell what is underwater and what is reflection just fine.


September 24, 2001, 11:31 AM

I like the screenshots, but your website SUCKS. Resizing my browser window and taking
away the title bar is just evil.



September 24, 2001, 12:07 PM

I disagree with you Dodger.. the website lacks of design but it requires a lot of time to have a really beautiful site. Saying that it sucks is a little strong.

The more time Chris spend on the website the less he have for the engine..

PS: is not what I call a website.. ;-)



September 24, 2001, 01:33 PM

I mean what if you have large landscape and a large building over it with a lot of detail inside it... And now imagine you fly over all that geometry (but building is covered by solid ceiling) - and you see only this building ceiling... what will you draw then?


September 24, 2001, 01:47 PM

I mean what if you have large landscape and a large building over it with a lot of detail inside it... And now imagine you fly over all that geometry (but building is covered by solid ceiling) - and you see only this building ceiling... what will you draw then?

Portals seem like the way to go in this case. If you treat the terrain as a single large sector then this approach integrates elegantly with most portal systems. In the case of the building, you would recurse into the associated sectors when e.g. windows and doors are visible.

On another note, I didn't quite understand if Chris was using BSP trees for partitioning the terrain or not. Octrees and kd-trees are BSP trees as well of course but it doesn't really make much sense to partition the terrain on a polygon by polygon basis. It might however make more sense to use 2-dimensional kd-trees. So the splitting planes would always be orthogonal to the base plane of the terrain (this reduces the DOF of the planes by one and hence we use 2-dimensional kd-tree) and they would alternate between splitting along the x and y directions (assuming the base plane was the xy plane).


September 24, 2001, 02:26 PM

psykotic: Terrain and BSP's are handled using completely different systems. Terrain is drawn using a quadtree for visibility testing.

If you're outside the building, it still uses the PVS from the BSP to only draw what is needed from that specific angle. Objects inside the building are flagged as inside, outside, or both so you can trivially rejected them depending on where the camera is.

BTW I've removed the resize window code from my site.

Lars Birkemose

September 24, 2001, 04:12 PM

I personally feel maybe tris should be moved from terrain to objects, but who am I to tell you ;O)
Looking forward to seeing the demo, the waterline clipplane is a very cool feature indeed.
Check the left pointlight in the room... the shadows on the floor are nice, but the ceiling looks as if the light comes from further away... (back of the room)
Or can I simply not tell from the lores shot ?


September 24, 2001, 04:34 PM

Imho BSP's are not exactly the right choice for terrains..
as most computergame-terrains are mostly horizontally oriented (just like the screenshots - I don't see any overlapping terrain-areas like caves or whatever) a plain quadtree (2d kd-tree, whatever) will probably much easier / faster...

Chris - any reactions on this idea ? have you tried other algo's for terrains ? tests ? I'd like to know as I haven't really tried it yet.


September 27, 2001, 12:59 PM



September 28, 2001, 11:41 AM

I've released a new self running demo of the current engine here:

Ignore that last guy :)


September 28, 2001, 11:46 AM

i LIEk tE GAIm jUst as mmuHc AS YuO!

(Sorry, been reading too much JeffK lately :))

This thread contains 30 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.