dzPoint Lights

Are soft shadows broken for these lights as no matter the setting the shadows still remain sharp?
You currently have no notifications.
Are soft shadows broken for these lights as no matter the setting the shadows still remain sharp?
Licensing Agreement | Terms of Service | Privacy Policy | EULA
© 2025 Daz Productions Inc. All Rights Reserved.
Comments
No, not broken...I don't think the 'softness' is connected to anything, not sure if it ever was. So if it wasn't ever connected, it can't be broken...right?
Thanks LOL Right....I think. Oh well back to Uber Point lights then.
Small lights, such as point lights do tend to produce sharp shadows. Size is relative so HUGE lights (such as the sun) a long way away will act like a smaller light source much closer.
Uber Point lights don't seem to have this problem Simon but yes with Ray Traced shadows the closer the object is to a surface the sharper the shadow is and vice versa.
In the code, there is an 'oddity' about the way the ShadowSoftness is connected...and it's been that way from the start. It doesn't match the 'formula' in the other two lights...so I'm 'borrowing' the formula from the spot and trying it. Yes, these three have the source code...or at least I have it, as they were example shaders in the DS3 scripting kit or SDK (can't remember which).
oh sweet let me know how you get on please mjc. I would love to be able to use these point lights with soft shadows as they work so well compared to Uber and the normal point lights with only discovering them with help from others here, namely my Russian friend. wonder if anyone has made a bug report about this?
Well...it works, sort of...using the other code does 'fuzz' the edge...ever so slightly. By removing the limit and cranking up the 'softness' to 10x the normal maximum it shows up a bit more, but not particularly 'soft' but rather a tad more jagged, as if it doesn't have enough 'room' to produce a gradient.
So, in a way, they are behaving 'more correctly'. They are keeping crisp edges like tiny lights should.
So, I was not quite right, yes they are 'connected' internally, but not the same as the other lights do them. And even correcting that doesn't give much in the way of 'softness' to the shadow.
You can use the shadow intensity slider to make them less intense overall...
Thank you for trying mjc, much appreciated. I did try a value higher than the fixed limit. I might try a stupidly high value and see what happens
Without the edit it doesn't matter, because the value ends up being 0.0, which with the other values in the shadow calculation basically ends up with a result of 'yes, there is a shadow'. The shadow intensity level has more of an impact in the shadow calculations than the softness value does.
Sorry I misunderstood when you said "So, I was not quite right, yes they are ‘connected’ internally, but not the same as the other lights do them"
I'm looking at the DzPointLight code in shader builder. A couple of interesting things to note there...
1. When using Deep Shadow Maps, the Shadow Softness parameter is multiplied by 0.023094014 when it is passed into the Renderman built-in shadow function. I don't know why one would do this. I can't find another good source at the moment, for a sample point light shader to compare it to.
2. There is one improvement over earlier versions of the Point Light shader in DS. It used to be that a single deep shadow map was used for the entire globe of illumination. In this latest iteration, it assumes there are 6 maps (top, bottom, left, right, front, back). This should improve fidelity when using DSM shadows on point lights.
JonnyRay I only use Ray Traced Shadows, never DSM's so please excuse my ignorance when I say how does this effect Ray Traced shadows?
Actually that factor is in the other's too (dzSpot) and on both DSM and RT.
There is a bunch of very simple point lights floating around that don't do shadows...but I haven't found another one that does, that didn't come from ShaderMixer...
[Edit] I must be tired or have bad eyes. The parameter is connected to blur input in shadow brick
So it influences the bluriness of the shadow
To try to make the shadow code it a bit more readable...
Keep in mind that the code for a light shader is actually called from the surface of the objects in the scene. So all of this is done from the viewpoint of a point on the surface of one of your objects.
Reading this code, blur should work for raytraced shadows. It is passed directly from the user parameters in to the built-in shadow() function.
Additional information from Pixar on the shadow() funtion may be helpful...
This is likely why the blur value is being multiplied by 0.023094014. We don't need the whole texture, just a piece of it.
Also, since blur can either mean "half-angle of the light cone - in radians" in the raytraced version or "percentage of the texture map to use in the filtering", the units aren't necessarily consistent either.
Also, note the comment in the raytrace version of shadow() about samples. If we're dealing with a point light which casts shadows in a full globe, the number of shadow samples is going to be critical to the accuracy.
Right...
The problem is, no matter what, the actual area that ends up 'blurred', even if forcing large numbers, is barely inside the edge of the shadow as to not make much difference to the shadow itself. In other words, no matter what you plug in, the math done is not going to result in a very 'soft' shadow.
But I'm wondering if the problem is two-fold. First, DzPointLights don't have a lot of range when casting light. Which means if they are casting shadows they have to be pretty close to the object. Which causes issues for soft shadows for many lights.
Second, as you're suspecting, I wonder if something in the 3Delight engine is just "off" when it comes to the math for soft shadows, raytraced lights, and point light sources.
I'll play some tonight and see if I can come up with anything. But it may end up that the best option is just AoA's Advanced Spotlight (in "point light" mode).
But I'm wondering if the problem is two-fold. First, DzPointLights don't have a lot of range when casting light. Which means if they are casting shadows they have to be pretty close to the object. Which causes issues for soft shadows for many lights.
Second, as you're suspecting, I wonder if something in the 3Delight engine is just "off" when it comes to the math for soft shadows, raytraced lights, and point light sources.
I'll play some tonight and see if I can come up with anything. But it may end up that the best option is just AoA's Advanced Spotlight (in "point light" mode).
Not off so much as there is an actual difference between a point and an 'infinite' light...like a distant light...and it has to do with whether the rays are considered parallel or not. The way 3DL calculates it will never give very 'soft' shadows on a point light...and in a way, the current behavior is more 'correct'. But since true point light sources don't really exist, it's hard to say...but the best I can come up with are the shadows cast by those tiny surface mount super bright LEDs...they stay 'crisp' no matter how far they are away from the object that is casting the shadow.
And like I said, I did get it to the point where there was a difference in appearance, but not enough of one to matter. Zooming in real tight on the edge of the shadow, it was very noticeable...backed out at a 'normal' distance not so much.
Both the AoA and omnifreaker ones use different shadow code than the dzPoint, at least from observing the results.
Yes I am still here watching, reading and waiting for my head to explode.
I went back to Uber and now I am testing out AoA's lights.
You both say it is a small light, but aren't all point lights small. I am not being funny I just don't see what the differences are....is there something in the code that makes them smaller. Or as mjc points out Uber and AoA lights use different shadow calculations which is the real difference and not size.
See this post by Dimension Theory...
http://www.daz3d.com/forums/discussion/27675/P1215/#564974
Cheers mjc..."non large scale" I take it you are referring to...I still don't understand. Do you have some links to some required reading so I can get my head around this please. If not no problem.
That and the fact that it looks like they are 'faking' a point light with a 360 degree spot to get soft shadows, as opposed to using a 'real' point light.
Arr yes I see the logic now if AoA needed to do that to get soft shadows from a point like light behaviour.