Is it possible to render softshadows with a sunlight actor? I wan’t to light a fairly large scene and the shadows should be soft. I tried to do it with a normal lamp but it didn’t work out. So is it possible to render large scenes with soft shadows?
Thx guys, but I forgot to mention something, I’m using yafray as renderer. There it is impossible to use the skydome approach. And the technique of placing a lamp with a wide lighting area far away from the scene also didn’t pay off. I guess you can only render small scenes with softshadows in Yafray.
Not true. I always thought it was so, but it is not true. The same discussion went on at elysiun and cgtalk a couple of months ago. But indeed it is proven that even in the most sunniest day, shadows are soft too. Granted they will start sharp when the distance between the shadowcaster and the shadow receiver is small. But look at the shadow of a flagpole on a sunny day. At the bottom it is sharp, but at the end it is very soft.
That said, I think it is a very difficult effect to achieve. Even at CGTalk there is no real consensus on how to simulate this.
Not true. I always thought it was so, but it is not true. The same discussion went on at elysiun and cgtalk a couple of months ago. But indeed it is proven that even in the most sunniest day, shadows are soft too. Granted they will start sharp when the distance between the shadowcaster and the shadow receiver is small. But look at the shadow of a flagpole on a sunny day. At the bottom it is sharp, but at the end it is very soft.
But our real sun doesn’t have a near-nil size. It has quite some dimension, even from Earth (watch it set behind distant trees or city skyline to see just how big it can be). It also benefits from atmospheric reflection and refraction so that light creeps into shadow edges from all sides, softening them further from the object.
The “sun” in Blender however does effectively have a nil size and infinite distance. The light rays it produces are exactly parallel.
I don’t use ray tracing but the only way I can think of to achieve a soft effect is to use multiple suns with correspondingly decreased energy settings. This is effectively what an area lamp does but a sun doesn’t have a set distance and may give a different effect and I think an area lamp is omnidirectional(?). The number of suns may need to be large though and each has to be very slightly rotated horizontally and vertically.
There isn’t a consensus at CGTalk of how to simulate it??? That’s weird. I remember there’s this 3D program - Anim8or, which I used back when I started out on 3D graphics. Its sun lamp was capable of casting raytraced soft shadows, and pretty convincing ones too.
As far as I know, Anim8or was created by just one man. Here at Blender we have a whole team of coders capable of creating fluid simulators, but no soft sun shadows? That’s weird. I just have to be missing out on something. :-?
In this case the yafray developers would be to blame, since he wanted to render in yafray. There are several techniques to get a good outdoor lighting in Blender. E.g. a sun without shadow and darkening AO; the skydome method; an Area Lamp and AO; even (very carefull) Ambient Light, a sun for the highlights and some shadow only spots; …
It’s more a question of how many render time you are willing to sacrifice.
There isn’t a consensus at CGTalk of how to simulate it??? That’s weird. I remember there’s this 3D program - Anim8or, which I used back when I started out on 3D graphics. Its sun lamp was capable of casting raytraced soft shadows, and pretty convincing ones too.
I don’t know anim8or. But I don’t mean that the shadows are soft in its whole length. On a sunny day, the shadows are crispy sharp except for the last bit of it, it becomes soft. Also it depends too on the distance between the point that blocks the lights and the surface receiving the shadow, because the longer the distance, the more light deflecting particles the light will encounter thus making the shadow softer. Likewise, a dog standing beside a flagpole on a sunny day will cast a sharp shadow whereas the flagpole casts partly a soft shadow area. I doubt if Anim8or (or other current G.I. solutions) can simulate that behaviour.
But our real sun doesn’t have a near-nil size. It has quite some dimension, even from Earth (watch it set behind distant trees or city skyline to see just how big it can be). It also benefits from atmospheric reflection and refraction so that light creeps into shadow edges from all sides, softening them further from the object.
The moon looks large at the horizon and small high above the sky. If you would take a picture of the moon being large at the horizon, you’ll see that it comes out small. That is because it is a optical desception. If the moon is high above in the sky, and you watch it from the bottom of the hill so that the moon is touching the top, it will look large again. So, in analogy, I think this is the same situation whe have with the sun: Large at the horizon and small in mid sky.
Not sure if this helps but in photography to soften shadows we reflect light into the shaded area from just off camara. So, maybe placing a second lamp with a low energy level just outside the “camaras” fov in blender/yafray would do something simular.
Umm… your 'backporch" is covered right? then you are already in a shadow/shade and the soft shadows you see is from skylight not direct sunlight. Skylight is the light you get from atmospheric refraction. You may also be getting some reflected light from near by objects such as walls, plants, the ground, etc.
I live in suny, very SUNY Bonaire, and I looking out my window right now. The lampposts and traffic signs all cast soft shadows. But if you look at the shadows cast beneath the cars, they are all sharp.
Now I realize why even state of the art G.I. renderers still give you that feeling that their rendered outside scene doesn’t look quite right, that’s because they don’t take atmosperic scattering into consideration. A good G.I. renderer should produce sharp and soft shadows for the same lighting condition.
Yeah, and you forgot to mention light waves refracting around the edges of the objects, causing interference and resulting in prismatic effects all over the place…sometimes I wonder what’s the point of attending Physics lessons.
But my point is, the simple fact that sunlight does not originate from a dimensionless point in space - that our sun has surface area - is enough reason for us disgruntled Blenderers to cry out for soft sun shadows!
And BTW, Anim8or does make shadows that are hard at first and then soften as it gets further away from the object.
Why don’t you make 2 rendering passes…one with a sun and another with a softer light source. Take both passes into a compositing program and mask off the parts of the shadows that you dont want. You can do this in after effects and you can even use the internal light sources in after effects to bypass the whole dual rendering process. Post production work is where after effects truly shines.
Another method to use (although compositing sounds so much simpler, I have no Idea, I don’t composite yet) is a method I used back when we still had shadow buffers: multiple lamps. I would make a small sphere (probably icosphere with div. of 2) and parent my lamp to it, use dupliverts to make multiple copies, turn down the energy and render with that, faking soft shadows from a lightsource.
With a sun…it’s a little different. Make multiple suns but keep them in the same spot, just giving each of them a minor deviation in direction (a few degrees is fine), and turn down the energy.