Game Development Community

Tough TSE and TGE Questions: Terrain, Glow, Culling, etc.

by Clay "Falagard" Larabie · in Torque Game Engine · 06/04/2004 (7:08 pm) · 2 replies

Greetings all. Long post warning.

Introduction:
I'm a professional game developer who works at a game development company that allows us developers to work on hobby games without restrictions, which is quite nice. I've been working on a hobby game for several years, and have switched 3d engines multiple times now, starting with Genesis3D, on to Auran Jet, and currently have been toying with Ogre. I may possibly give TSE a chance, as I'm mostly impressed with the tools, which is the biggest thing lacking in some of the other engines.

I've searched the forums but the following questions don't see to have been answered, so if they have, please direct me to the post or say that "it's already been answered, look harder you moron!".

I'm going to ask the tough questions, and some may sound unreasonable, but bear with me.

Questions:

1. Most important question: Will TSE support paging larger terrains than a single 256x256 heightmap? I think I may just found the answer myself, when I found this recent post:

http://www.garagegames.com/mg/forums/result.thread.php?qt=18553

Ben Garney wrote this on May 22, 2004:

"The reason that TSE is "concerned about terrain paging"... It's not. Due to size limits on vertex buffers, we have to have a smaller block size, so a terrain manager is a necessity. It's a framework on which you could more easily build a paged terrain system but it's most certainly not going to come standard."

So, in summary, TSE has a terrain manager framework but it will be up to us to implement a true paging terrain manager because it won't come standard. Fair enough.

2. Will TSE support any sort out of outdoor occlusion culling? Terrain occlusion, occluding things behind buildings, etc.? Like I said, unreasonable but I had to ask :-)

3. Indoor culling question: I assume TSE uses portals and potential visible sets for indoor BSP geometry, but does it also use the same culling for DTS shapes (static objects, etc) that are placed indoors? Example, if I place a static mesh in room A, and I'm in a completely different room where room A isn't possibly visible, does mesh in room A get intelligently culled similar to other BSP geometry in there?

4. I think this is a bit of a newbie question (tried searching forums, no luck) : can static objects receive/cast lightmapped shadows indoors? Outdoors? I assume they can cast shadowmaps but not receive/cast lightmaps, but had to ask. Half Life 2 still uses an updated version of Worldcraft(Hammer) as an editor, but apparently they just create the very basic structures using CSG, and use lots of static meshes for everything else. I assume that TSE uses lightmaps generated by Worldcraft/Quark for indoors, but uses custom lightmap generation for terrain. I also assume TSE won't support the newest version of Hammer that was used for HL2 immediately ;-)

Less important:

5. The glow in TSE, is it a fullscreen glow, or is it per material glow? I'm positive based on the TSE EA demo that it's per material in there, at least on my GeForce 4 ti4200 but was wondering if you planned to support fullscreen glow? Screenshots with glow off shiny armor suggest full screen glow. Possibly need better hardware to see it?

6. TSE may implement stencil buffer shadows, but will these be modulative darkening stencil shadows and/or use per light additive stencil shadows? (For those who don't know, modulative darkening shadows render the entire scene and then afterwards, use the stencil to darken shadowed areas all at once. Additive per light stencil shadows render each light seperately in a seperate pass, with the stencil masking out where the shadow should be. Doom 3 uses additive stencil shadows).

Screenshots examples of modulative versus additive:

Modulative:
http://www.ogre3d.org/tmp/shadow_modulative_animated.jpg

Additive:

http://www.ogre3d.org/tmp/additivelightshadows.jpg

Thanks for your time,

Clay

#1
06/04/2004 (8:02 pm)
1. It won't support paging. It will support arbitrary sized terrains, in 128x128 chunks. Paging is a seperate issue - I am trying to leave hooks for that sort of thing in the engine, but I'm not going to do streaming to disk or any other fun stuff.

2. TGE already does terrain occlusion culling. TSE will do the same. We might expand that a bit - most likely, at some point in the future we may turn our attentions to the scene graph and do that sort of work in that context. Our focus now is entirely on getting the basic rendering layer down solid.

3. It does zone-based, portalized culling. Things in a zone are culled when the zone is not visible.

4. They can cast shadows (dynamic or into the static lightmaps, both things may involve some minor tweaking to get working). Static meshes are a powerful tool, but not one we're focusing on at the moment. We'd love to use Hammer, but Valve has not updated their EULA, so we're having to pursue other solutions.

5. Better hardware helps, though the glow effect should be similar for both. We do our glow using a full screen glow buffer, although the actual amount of glow is determined for each material.

6. We are just beginning to work on the lighting in TSE, so the answer will have to be seen.
#2
06/04/2004 (10:29 pm)
Thanks for your quick response.

All answers make sense.

Regards,

Clay