Game Development Community

Where is the deferred lighting?

by Manuel M · in Torque 3D Professional · 06/30/2011 (8:06 pm) · 12 replies

Hello!
I have created a simple "house" and I'm testing the light system. I can see that my point lights through the walls! but I can see that this only happen on the floor. I know with the forward rendering this happens, but not with the deferred rendering, maybe it's a bug? someone have some information about this?

#1
07/01/2011 (11:41 am)
Sorry, you are confused about the definition of "deferred lighting". It has nothing to do with light going through things, it's just a way to render a large amount of lights than would be possible with forward rendering:

en.wikipedia.org/wiki/Deferred_shading

To prevent lights from leaking, you'll need to make them cast shadows (because that's what shadows do). It'll have a performance cost, however. You can also try baking lightmaps in Max/Maya/Blender/PURELight so you don't need all lights to be real-time lights.
#2
07/01/2011 (12:22 pm)
Yes, I was confused with it.
Well, the problem with this is that the lights through the walls, but if I active the shadows, the problem is the same. On Unity 3 and other game engines that I have used this is not happen, what is the difference between the systems of rendering?
Well, anywhere this is not a problem to me, but I was a bit confused.

Thank you!
#3
07/01/2011 (1:20 pm)
Is the objects collision on ?
#4
07/01/2011 (4:00 pm)
Yes, and I see that this only happen on the floor, on the wall is not happen it.
#5
07/02/2011 (3:10 pm)
It would help a lot if you posted a screenshot of the problem, preferably in the world editor showing the light settings.

I take the light is very close to the wall? If so, you must use more polygons to make the wall: point lights use paraboloid shadows, which render the geometry around them with a spherical deformation.

Since this deformation is only applied to the vertices, larger polygons will have wrong deformation (since the polygon surface itself will not curve). So, you must keep your wall geometry well-subdivided to avoid shadow errors. Also, if the lights are close to the wall, try placing them close to a vertex (avoid placing them in the middle of a flat polygon).
#6
07/03/2011 (2:44 am)
img809.imageshack.us/img809/6622/screen1ku.jpgimg842.imageshack.us/img842/7803/screen2xgk.jpg

The light is not close to the wall, and in any case, the problem is the same. My "corridor" has been created in 3D World Studio, has no many polygons.
I also tested with other 3d models, with much more polygons, but it's the same.
This picture shows what I mean:

img580.imageshack.us/img580/1927/screen3qe.jpg
#7
07/03/2011 (3:49 am)
is it a dif or a collada/dts ?

Theres something up with the normals on the exterior wall, look at the sun direction, and look at the shadow direction from the normals, it looks inverted, but its not picking up any normal map shadowing from the point light inside it by the looks of that wall at the back.
#8
07/03/2011 (4:09 am)
I use DTS. I converted my 3d model in UU3D (Ultimate unwrap 3d).
It's true, the normals looks inverted, but right now I have solved it, I just needed to inverse the normal map on x, but the problem continues.
#9
07/03/2011 (7:28 am)
How tessellated is the wall? Can you show a wireframe shot of it?

This is the kind of situation where support for zone-based light culling or would be perfect. Using shadowmaps to keep the lights inside the buildings is overkill.
#10
07/03/2011 (7:42 am)
The walls have few polygons, only two triangles for surface.img39.imageshack.us/img39/7499/wallvp.jpg
#11
07/03/2011 (7:54 am)
ahh, it needs a subdivision on it
#12
07/03/2011 (8:52 am)
Well, I have created another structure and now all faces have subdivision, but the problem persist. I tested with other 3d models, with many polygons and with several technics, but nothing. This happen in another game engines like Shiva, but, for example in Leadwerks engine this is not happens, what's the difference between rendering system? what is the technique that uses Torque 3D?
This is not a problem for my, but I want to know if it happens for a bug, because Torque works this way or what.