Orkin Man on 23/4/2005 at 03:55
I have several torches in my level, and the walls they're hanging on that should be casting shadows blocking them from the room on the other side are instead only casting 3' shadows...letting the light leak out of the room. It creates correct shadow volumes for meshes (if I put an object between the light and the wall, it blocks the light), but BSP shadow volumes are cut much shorter than the light's distance.
I found I can work around it by upping the ShadowExtrusionDistance, but that tends to kill the framerate because I have to set it to something like 1024, which flings shadow volumes all over the place.
Does anyone know of a way to fix or work around this problem? It appears to be an engine bug...
Orkin Man on 23/4/2005 at 04:33
I found the problem...here's a diagram of what the Flesh engine is doing:
Inline Image:
http://jonathanmarston.is-a-geek.com:8080/Shadow%20Problem.gifAs you can see, the shadow volume is incorrectly generated, causing the shadow to end too soon. This is a terrible oversight by the programmers...and a detriment to mappers.
I have found a bit of a workaround though. If you break up the faces by splitting up brushes, you can cause the engine to make the volumes reach out further. I still had to increase the ShadowExtrusionDistance, but not near as much as before (in my case ~400 instead of >1000).
Orkin Man on 23/4/2005 at 04:47
Thanks, I've read that.
So far the best way I've found around it is to split up brushes. Oddly enough, I had to split the brush on the opposite side of the wall from the light for it to work. Doing this and dropping the ShadowExtrusionDistance down helped bring my framerate up again.
Man, whoever programmed the shadows in this engine... :joke:
SneaksieDave on 23/4/2005 at 05:22
Info can also be found here: [wiki]Lighting[/wiki] (second bullet from bottom for extrusion distance)
OrbWeaver on 23/4/2005 at 11:14
Quote Posted by Orkin Man
Man, whoever programmed the shadows in this engine... :joke:
...did quite a good job given the time limitations and X-box performance constraints.
These two factors are the cause of all the ugliness we see in the Flesh engine, not developer competence (or lack of it).
Komag on 23/4/2005 at 18:37
time constraints, really? I thought they had a ton of time (maybe they were rushed, I didn't know it)
Vile_T3 on 23/4/2005 at 20:17
Quote Posted by OrbWeaver
...did quite a good job given the time limitations and X-box performance constraints.
These two factors are the cause of all the ugliness we see in the Flesh engine, not developer competence (or lack of it).
I completely disagree here... time and X-box constraints, surly didn’t help, but the majority is lack of
competence!!... I've seen the code, poor execution in lighter terms.
OrbWeaver on 23/4/2005 at 21:11
Quote Posted by Vile_T3
I completely disagree here... time and X-box constraints, surly didn’t help, but the majority is lack of
competence!!... I've seen the code, poor execution in lighter terms.
How exactly would looking at the code allow you to make a distinction between developer incompetence and time constraints? Poorly-written code could equally well be caused by either.
Vile_T3 on 23/4/2005 at 22:09
Quote Posted by OrbWeaver
How exactly would looking at the code allow you to make a distinction between developer incompetence and time constraints? Poorly-written code could equally well be caused by either.
Well this would be true, but from the way the code was written and considering the history of IS with past releases demonstrates the lack of experience or the understanding (incompetence) not to mention the fact that IS in the dust bin, seem to solidify my opinion... also I worked for Auto Desk for several years and know a little about programming... listen I have all the software tools here with me to turn the DS editor into something worthy, given time... but the industry is moving forward and doesn't merit the effort nor do I have the patience to work through a pile of bits/bytes.