Game Development Community

Iteration issue in Lighting::Light::buildBrushLight()

by Tom Spilman · in Torque Game Engine Advanced · 12/21/2004 (6:48 pm) · 3 replies

You guys may or may not consider this a bug... we'll see. Currently if a light_brush face is smaller than the lumelScale in either direction the emitter surface will not be processed. It may be better to default to a single iteration in either or both directions for small emitter surface than to not emit at all which would just perplex the artist. I made the following change in Lighting::Light::buildBrushLight() around line 2104:

U32 tIterations = getMax( t.len() / lumelScale, (F64)1 );
 U32 sIterations = getMax( s.len() / lumelScale, (F64)1 );

A worst case example would be a lumelScale of 32 with a 2x2 emitter surface. It would generate some odd looking lighting, but at least it is emitting light. Still I wonder if this would cause trouble with LODs.

About the author

Tom is a programmer and co-owner of Sickhead Games, LLC.


#1
12/21/2004 (8:07 pm)
Hmm... Curious thing, that. Probably explains some issues we've been seeing with Tim's content packs. On my todo list now. :)

I've e-mailed you privately, btw.
#2
12/23/2004 (10:19 am)
I'd say that's close enough to a bug to fix. It's checked in now.

This should not affect LODs unless the artist changes the light brush size and/or the lumelScale between LODs.

This is a TSE thing, so it should not have affected Tim's content packs.
#3
12/23/2004 (7:38 pm)
Bother, you're right. I tend to confuse the TSE and TGE forums. :-/