Light point radius visible in 4.0

It is only a partial solution and works better for spots than point lamps.

With volume you can see what it is doing,

basically it gets rid of the light in the part of the ray that is less than twice the radius size. If you set the “less than” to less than twice the radius you will start getting a halo.
Both the point and spot have a radius of 1m.

in this one I lowered the less than value to 1.8.

I know it is more a “dirty hack” than a solution.

Most of the rays from the light path do not work because lights do not have a diffuse, glossy or transparent component. Objects cast shadows, lights cast light… well negative lights cast shadow but I do lot think the light path node considers them “shadows”.

The rays do have length and depth so those outputs can be used.

Ray depth is the number of bounces and ray length is the length of the ray.

Here I excluded the first 2 bounces of the light, so there is no direct or first bounce but there is a third fourth etc.

Here I used a gradient to change the colour of the light rays depending on their length factor.

I think this is the fourth thread talking about it, this month.

3 Likes

What normally comes up for me is having a glass/translucent enclosure, so I want the lamp lightsource inside (think pendant lights) to not cast a shadow for a limited distance to reduce noise. I have all my light sources arranged into light groups, and isolating pendant lights (of this kind) is always a huge source for noise.

But for this topic, sounds to me like Ray Length could do the trick; constant falloff (instead of inverse square) where the inverse square is handled by math driven by Ray Length. At least, sounds good in my head. In practice? Have no idea :smiley:

Not sure, maybe you have to apply the ray lenght to the glass not the light itself for that.

The glass is what casts a shadow, not the light.

Maybe you could effect the shadow rays with the ray length in the glass material (using both outputs) it sounds possible.

I feel the same way.
I thought the previous lighting was a little unrealistic, but the new lighting seems to be a more realistic implementation.

But it’s hard to say exactly because I haven’t used it for real work yet. :slightly_smiling_face:

You know if ray length is “reset” per “ray recursive iteration”? Talking in old fashioned ray tracer terms here. So if this pendant light in question is turned off. Then say 5m to the (distant) light source that is on, 2mm of glass thickness, 5cm to reach the other side, then another 2mm of glass thickness. Does it start from 0 for every time a new ray is generated, or do they stack up? Sounds tricky to test. That said, I did find a solution that I can live with a while back, it’s just one of them taunting tasks every time it comes up.

It does not stack up, it is the length per ray.
If not these colours would mix.

This is a point lamp just above the surface of a plane, I set the range of the colour ramp from 0-10, the stops are at 00, 0.1, 0.2, 0.3, 0.4, the colours match up more or less to meters. It does depend on how far the light is from the plane and the lights radius and maybe some other factor the distance is not exact but close.

If they were to stack up then each ray calculation would shift the colours and mix them up.

1 Like

Not sure why that should mix? If it’s a single plane then it’s the same ray (for the sample being calculated for that pixel). So there is no change in ray characteristic. Back in the day in a recursive ray tracer, when a ray intersection is detected, ray splits up into several - one returns diffuse, one turns into refracted ray, one turn into reflected ray and so on. I guess in a path tracer you follow just one of these paths? So the question is if the ray length will reset every time the characteristic change.

1 Like

Ok now i get you, the manual says distance traveled from the last bounce or camera, so it sounds like each bounce starts the lenght count over agian.
Intesting, I will try the setup with a narrow spot pointing at a mirror. But will have to wait till saterday mid day or sunday, I am working every day (and night) :worried:

Intuitively I would think that is what would happen. So in my case, any trickery I do on the glass would also be affected by distant lights which is not desirable. Which is why I’d like to have that level of control of the local light source instead, but that doesn’t work.

Ok checked, well no it does not restart the count, it looks like it only effects the first ray, and has no real effect on the others (apart from refracting the light colour that hits the glass.)

The refraction the floor is refracting mainly the yellow (in the center and the red at the sides) which is the colour of the light when it hits the glass.

It looks like the calculation stops when hitting the glass, so I do not think it will work for you.

For reference here I changed the glass to a glossy material and put the ray length and colours on the glossy shader of the vertical plane.

When shining a white spot on it the reflection rays of the plane are coloured.

The light path node effects the rays that come from the object that has the node. Not quite sure what the manual means by “last bounce or camera” but I think it only effects one ray length bounce.

Last test, I set the light falloff to constant and added shadow caustics to get more light through the glass. It still only refracts the yellow and red and does not go to green or pink, so the ray length output has no effect on iteration bounces.

Oh wow. Thanks for the effort. Yeah, looks like a bummer, but I kind of expected that. Still, I have managed to get my pendant lights reasonably effective sampling wise. At least better than indirect cove lights now (where I’d expect noise for obvious reasons), where they used to produce way more noise before. Light groups for analytical win. How did we even survive prior to light groups? :sweat_smile:

1 Like

I have good news and bad news on this topic.

The good news is that the issue has been resolved. The bad news is that we have to wait for version 4.2.

I found a workaround for the issue. This can help you solve it or at least manage it, as demonstrated in the video I created (link below).

https://youtube.com/live/XoW3GxS7W2Y

2 Likes