CompuServe Thread

#Shadows

5 messages in this thread
#3364From: Tim Wilson [Crestline]Jan 22, 1995 1:55 PM
David, You and Charles Blaq seem to be intent upon turning the discussion on Radiosity into one about Shadows, so I'll oblige you and start a new thread myself. (No need to thank me.<g>) >> Shadow mapping is one of the things I'm really missing in Imagine. Shadows give a scene a much better 3D effect, but at the moment I have to use trace to get shadows which is too slow for tight deadlines or large anims. << [DH] I too used to think that shadow mapping would be a nice addition. But after working with a few programs that use this technique, I no longer think shadow mapping is all it's cracked up to be. Shadow maps are not automatic like Ray-tracing. They require tweeking and diddling that can easily end up taking much more time than simply doing a trace. And without care, they can look really lousy in animation. If, for example an object or figure is rotating and casting shadows on a ground, the program has to calculate a new shadow map for each frame, and throughout the animation the pixels around edges of the shadow can flicker and dance unpleasantly because of variations in the shadow bitmaps. I've seen many animation sequences, generated with other 3D programs, plagued with this very problem. In general, I think you'd find that most users who've worked with shadow-mapping programs would prefer to use ray-tracing, especially if the lights could do soft-edged shadows. The difficult image processing (required to get shadow mapping to work well) would probabaly take more time for Impulse to program than a simple routine to soften traced shadows. >>My vote would be for you guys to work on soft shadows the workaround for soft shadows (replace lights with n x n x n arrays of lights) is really not reasonable. I agree with others that the lack of shadows is one major difference between the look of our Imagine work and that produced by users of other software.<< [CB] Automatic soft-edged *traced* shadows would be nice, but I've actually had fairly good success with arrays. They're a bit inflexible, but I think they look more optically correct than shadow-mapping. I suspect that a good soft shadow routine would slow rendering dramatically. Perhaps rather than doing a `true' soft shadow technique, Impulse could do a hybrid approach using a `built-in' light array, and a feathering routine to blend the gradations in the edges of the shadows. Or maybe there's something that could be used to perturb the rays of light around the egde of a shadow without the necessity of casting more rays, and slowing rendering. But look… here's my BIGGEST problem with *sharp* shadows. Since light is clipped by the edges of polygons instead of by a smooth phonged surface, sometimes only a few isolated polygons get hit by shadows in areas of surface parellel to the rays of light. This can cause the edges of shadows to look very jagged, or even like there are stray black artifacts on the object. This happens even to objects with lots of polys like Humanoid, around the middle of his chest. I think the best way to eliminate this problem is to have rays of light originating from a broad area. Arrays work fairly well at this. With rays coming from many different angles, the jaggedness (caused by the abrupt clipping of light along the edges of polygons) is nicely disguised. – Tim
#3436From: David HofmannJan 24, 1995 4:23 AM
Tim, no doubt, shadow mapping is not the only and best solution, and you can do alot to make them look wrong or ruine the effect. But this can easyly be done with anything in 3D animation, just place one triangle wrong and the object will look bad. What I mean is: I want this option so I can decide if it's better for the specific animation or not. In many cases it will speed up rendering. BTW, there is hardly any 3D program that does not have shadow mapping. 3DS users complained about shadows and Autodesk added raytraced shadows. Cool, but it uses raytracing only for shadows, the rest is still scanline rendering. They use the advantage fo accurate raytraced shadows and the advantage of fast scanline rendering. How about this Mike? Raytraced softshadows definately look cool. I used to experiment with light arrays and the effects is very nice. I know two programs that have soft shadows in raytracing. POV and Alias (there might be other, too, but I can speak only about these two). Both use dithering in the shadows which is no good for animation since the shadows will start to bacome "alive" in the animation (different shadow dithering in each frame). Alias suggests not to use soft shadows in animations. POV doesn't have animation support, but I think it would look the same. So there are always pros and contras in every technique and I'd like to have the all (yeah, I want it all! <g>) so I can choose the right for the individual task. -David
#3457From: Tim Wilson [Crestline]Jan 24, 1995 2:27 PM
David, Now we're getting somewhere… I agree with most of your remarks, especially the “I want this option so I can decide if it's better for the specific animation or not'' remark. And apparently John Stetzer, who has used another Scanline program, agrees with you as well, based on his following remarks about Shadow mapping: >>They're brutal, ugly, have to be tweaked to look right a great deal of the time…and are sometimes the only way to get something in on time. As an example; one of last year's projects involved 3 250,000 poly. meshes used in an animation (the total animation count ended up being 15000+frames). W/a single traced shadow, it took more than a half hour to render a frame on a P5-60; w/a single shadow mapped spot, it never took more than 10 minutes. The end result was ugly (I had to keep things low so it would get done), but added definition that wouldn't have been there w/out shadows and met the customer's needs. I think there should at least be the option for them; it could mean the difference 'twixt getting things done and not (assuming you have the memory to spare).<< I guess I've never thought of Imagine as principally a *Scanline* renderer. Don't get me wrong,… I'm glad Imagine does some Scanline stuff,… but I believe Imagine's reputation was built on its strength as a `Ray-tracer', and that's also the way Impulse has promoted it. I think it's expecting a lot for them to do things the same way as other companies who've focused *most* of their efforts on beefing-up Scanline procedures. Remember Ray-tracing is a fairly new feature to programs like 3DS and LW, but it's been an integral part of Impulse's products from the very beginning, starting with `Silver' some 6 or 7 years ago. I guess this is one of the reasons why I keep focusing on suggestions to beef-up their Ray-tracing. But who knows… maybe Impulse IS intent upon making Imagine as strong a Scanline renderer, as it is a Ray-tracer. (Mike, GreG?) Imagine is already an extremely fast Tracer. (On my P90, moderately complex scenes with shadows and reflections typically take 2 to 10 minutes to render at 640×480.) And my hope is they can get all this stuff to work in Trace mode so its almost as fast as other's Scanline renderers. Furthermore, with the addition of new 3D accelerator boards (S3, Creative Labs, Cirrus-Logic, Matrox and others) and API's coming out in the next year or so, I think the issue of *speed* will be irrelevant, because both Scanline *and Tracing* will be fast enough to get the job done. I guess that's why I don't think its wise for Impulse to divert too much of their energy into Scanline technology. But I'd hate for them to loose committed, inquisitive users like you in the meantime. (Mind you… I'm not implying this would happen, this is strictly hypothetical.) I think it would help if they put in more controls to determine which objects can RECEIVE and CAST shadows, and maybe combine some Traced elements with their Scanline mode, as you and others have suggested. But I don't know how difficult this would be. -Tim
#3458From: GreG tsadilasJan 24, 1995 3:04 PM
>> But who knows… maybe Impulse IS intent upon making Imagine as strong a Scanline renderer, as it is a Ray-tracer. (Mike, GreG?) << Tim, Mike would have to field all your questions about where Imagine is going. I probably don't know much more than you right now. Remember, I don't work for Impulse, and don't know the day to day discussions/developments there. You might want to address a message to Mike. -GreG
#3495From: David HofmannJan 25, 1995 11:25 AM
Tim, A friend wrote/writes it's own anim program with tracer and renderer. He managed to combine both ways. Don't know if that would be easy or hard to do in Imagine. -David