Challenge #879 "Serene" (24/04/20) Entries CLOSED

Golden Orb by Candlelight


Non-competing (pure). Everything made in Blender, only procedural textures.

I wanted to see how well Cycles can handle a ton of light sources (around 500 candles). Well, it can’t: the image was way too noisy. I then replaced the individual emitting planes by a couple of lamps (100 in total) for each group of candles, but things still got messy: Shadows look a bit weird and the lighting of the carpet is just not right. I probably would need a lot more than 512 samples for this. Either that, or maybe try eevee (but then I would need to remake my lighting, since it lamps work quite differently on both engines).

4 Likes

So true! :slight_smile:

Maybe Pixar can help with that …

https://pixartimes.com/2017/08/28/one-shot-in-coco-has-7-million-lights-how-pixar-made-it-happen/

2 Likes

I’ve run a few scenes with more than 500 “lights”. Wait do emissive materials count? :slight_smile:

1 Like

So here it is. “Birdrest” Pure entry. 800 samples :smiley:

3 Likes

Nocturno
Eevee, Pure

Oh, I’m certain Pixar could render 7 million lights before my laptop even had a chance to load a scene with the default cube. :slight_smile:

Normally when I try to light a scene with emitting geometry I get a lot of noise (at least when they are the primary light source). Do you make any trickery to get 500 lights to work properly, or do you just throw in a lot of samples?

1 Like

Community is 5th D :grinning:, i think.

1 Like

Weird, though. Ray tracing really likes lights, specially if they are close enough to the scene before the ray’s life time ends, it increases the probability of a ray hitting a light instead of wasting computing time on going nohere. However, usually more lights requires more rays, and thats not fully related to the amount lamps, but to the brightness of the lamp it self.

Small lamps, or in your case, mesh and emission materials, create a lot of noise because is really unlikely that they will be hit by some ray.

Pixar tends to use a lot of lights, in their first movies like Ratatouille, they used like 600 lights per scene, but how Pixar’s ray tracing works is way different than Blender’s ray tracing. They render scenes in different phases, is like a mix between the old Blender Internal Render style (rasterizing) and many different versions of path tracing for different materials. Blender, in the other hand, does everything at the same time with a different -Blender special- equation.

There are a lot of different tricks you can use to get better lighting, you can also mix lamps and emission materials to fill the holes, because they don’t work the same way. It may help b
Blender know what to do…

Is a pretty extense and interesting topic, tbh. :heart:

1 Like

Can’t say that I know much about ray tracing, but I think what you said is only true for indirect highlights and for glossy reflections. For direct light on a diffuse material, Cycles doesn’t need to get lucky with sampling since it knows where the lights are (at least for lamps), and can just pick one to bounce to next. But I guess if you have 500 lights and 100 samples, you’ll be missing most of those lights.

What could work would be to ignore weak lights which are far away, but I don’t think there is a easy way to tell cycles to do that.

Just a quick comparison (all renders used 16 samples, no denoising):
1 light
test-1-light

5 lights
test-5-lights

40 lights
test-40-lights

As far as I can tell, the render with just 1 light is far less noisy than the one with 40 lights.

1 Like

And you’re completely right, and yes, more lights technically creates more chaos…

More samples is the easy way to solve the problem, but it makes me want to make some experiments :3

If you increase the light’s strength, does it affect the noise?

Always a good resource. :slight_smile:

We also can tweak a lamps light bounce properties.
This plus some tweaking on the global bounces will help both in performance and noise.

https://docs.blender.org/manual/en/latest/render/cycles/render_settings/light_paths.html

There is also clamp, which I have resorted to a few times in very small amounts it can help.

There are a few examples on stack exchange of people using a mix of light falloff and color ramps to create various changes to the emissive materials, I’m assuming falloff Is going to help.

Finally I feel like cpu rendering has produced cleaner results on some scenes. I know I’ve successfully rendered scenes that crash on gpu as well. i always guess that it’s because it has a higher memory ceiling?

Finally we can use per path rendering and increase samples on some paths and limit samples on others for performance.

2 Likes

Wait, what? How? Or are you referring to branched path tracing, which allows you to use less diffuse and more glossy samples, for example?

1 Like

Yup. You got it. I’ve used it and it totally helps when you start reaching memory limits.

1 Like