Lighting in a Room

Hey!

This is more of a theoretical question. I’m not a three.js expert yet, so forgive me if I make any stupid assumptions.

I have a three.js scene with a room with a closet in it. Under the ceiling there is a light, for that I have chosen a PointLight.
The renderer settings are adjusted for photorealism.

Because I have the Pointlight only 10CM under the ceiling, a strong light cone is formed on the ceiling.
The ceiling has a high roughness and should not reflect much.

My consideration now: A pointlight shines in 6 directions, as far as I understood it, including directly upwards (direction vector 0,1,0).

In general I know that there are many more possibilities to bring light into a scene, but I am (because a photorealistic rendering with a blender via GLTF runs behind it) dependent on PointLights, DirectionalLights or SpotLights.

So my idea was to create a kind of ceiling light (based on a certain number of DirectionLights - e.g. 5) that doesn’t radiate so much upwards.

Is this a good idea, or what is the best way to approach such a problem?

Probably not. You should avoid adding so many lights to the scene, since they are expensive to render.

Did you consider baking lighting?

is there any guidance on how many are more or less ok without being too specific about platforms? i have 3-6 on almost always.

I didn’t mean specifically you should not have 5 lights. But rather, wasting your entire light budget by putting five directional lights where a single point light can work is a bad idea. You can probably use those lights to better effect.

EDIT: although, I’m curious. What hardware do you test your scenes on? I have a cheap Moto G6, partially cos I have a habit of breaking/losing phones, but also because it’s a good mid-low range device for testing with. I think 6 lights with any kind of complex animated scene would be really pushing it.

Hey!

I once read in pale memory that a PointLight under the hood is nothing else than 6 DirectionalLights.
So I thought that a “self-invented” lamp with 5 instead of 6 DirectionLights would be even more performant for the renderer.
I would have to test that.

I’m not familiar with “light-baking” yet, but it’s a very dynamic three.js scene that changes a lot with user input, so I guess this approach would be difficult.

Thanks for your answers!