How do I render a scene where most of the lights comes from grills?

I increased the number of samples from 100 to 256 before taking this screenshot and it took only 1.5m to render. This is quite good and GI Approximation actually makes Cycles viable for me. I’ll have to do some research into what it does.

Google Drive link (since your own has a 50 download limit): https://drive.google.com/file/d/1N_VxKRWAmoOFEkmz6Z34_i7LKwR6sZcy/view?usp=sharing

https://docs.blender.org/manual/en/latest/render/cycles/render_settings/light_paths.html#fast-gi-approximation

Note that in the archive I removed Sun light and shared there a different hdr image (cc0) than the one you had.
To reduce the size of the .blend file you can use the Compress option (From the gear icon on the top right in the Save As dialog)

I might have a trick/workaround that helps to render difficult interiors in Cycles, but it only works if the scene and lighting are mostly static. It involves baking the lighting, but only using the bake for indirect diffuse rays.

1-Make sure the walls object has a material of its own, that no other object in the scene has. Then, apply the modifers on the walls and give the object some UVs (auto unwrap will be good enough, just make sure there is some space between the islands).

2-Create a new texture in the wall’s material. Make sure the texture is set to 32 bits, because we are going to bake some lighting data, and make sure it has plenty of resolution, like 4096x4096 to avoid artifacts in wall corners.

3-Set the max bounces back to the default of 4 (so it doesn’t take forever to bake) and remove the indirect clamping, because we are going to need the full brightness data. Set the max samples to 32 (we won’t need anything more than that) and make sure denoising is on.

4-Do a full, combined bake with all the default settings. Then, save or pack the baked image.

5-Setup the wall material so diffuse bounces see the baked light:


Now, make sure to disable multiple importance on the material’s settings, or the wall will be treated as a light source, which will make the rendering slower.

Now, every diffuse ray that hits the walls will be immediately ended and will find valid lighting. The scene will act almost as if it was an outdoor scene and the walls were the sky.

Final result, 256 samples, took only 1 minute on a single gtx1060:

And that is only the wall object. I could have made it even faster by also baking the beds and window objects.

2 Likes

I don’t use Eevee…I do visualisation and rely heavily on realism so I wouldn’t be much help with Eevee unfortunately.
Cycles is an amazing renderer if ppl would put the time in but most are impatient and want fast results which is understandable but I get the best results from Cycles if I’m going for realism.

So I did a sun coming through the window, then where the the main light hit I made an area light to simulate bounce lighting.

The file is here if you wanna copy

1 Like

Of course I did give both a cycles and EEVEE solution though.

Luxcore is great. Initially I got very noisy results on par with Cycles, didn’t get anything better with the Bidi engine (later I learned it is deprecated), but after that I got a result like this with the regular one. What I did was set diffuse to 6, the rest to 1, used cache friendly noise patterns, and turned on all the caches. That is all it took. It spends 30s building the caches, but after that I get a good result off the bat.

Compared to Cycles with Fast GI Approximation, the shadows are a lot better in this image. I remembered Luxcore getting poor results in the benchmark by Blender Guru, but I guess you can’t draw conclusions on engine quality based on that. As a PR rendering solution, Luxcore wins hands down in terms of both quality and ease of use on this scene.

The main notable issue that I’ve run into is that some of the Blender’s default HDRIs don’t work with it. I don’t know why, but I get an invalid pixel value error. In this scene instead of using a HDRI, I am using a sun + sky texture for that reason.

I want to do some more testing of NPR solutions. My Eevee results haven’t been good so far, and I can’t put more than 8 lights into the scene without it crashing. This is probably because I am using large shadow caches, but without those, the shadows get pixelated. It might be worth giving Malt a try instead so I’ll do that next.

Luxcore is slower in most scenes, but it can resolve more complex lighting than Cycles, like caustics and indirect light coming from small openings. In those complex cases, it can actually be faster, simply because those are scenes that Cycles can barely do at all.

I am satisfied with the results of this so I’ll leave this thread be. I wish Luxcore (and Eevee) had a bevel shader, I specifically left some edges sharp in the models with the intention of beveling them at render time, but unfortunately only Cycles has it. Malt has it, but it does not have any learning materials. Since it just hit 1.0 it might be worth checking it out in a couple of months.

I modeled the room mostly in Moi, and what is next on the agenda is using it as reference for drawing practice. Everyone, thank you for the help.

1 Like

Looks good.

Remember – when you have things like “light coming in through a door,” that’s a so-called “practical light.” It’s a thing which we know in real life is “a source of light.” But for rendering purposes, as with a theater set, it probably shouldn’t be a source of light. Instead, you “put lights up in the loft of the theater” and use those to provide the actual illumination, which just has to look plausible. When the actor on set switches on a lamp, that’s a lighting cue.

sure, i’ll upload it later. But basicly i dind’t do much. Just change to LuxCore, tell it to use cycles materials and thats it…