Lighting on inside surface of an object

Hello, I have a scene with a large walled container mesh (a hollow cylinder), inside of which is another object with a Spotlight. The light will not display on the inside surface of the container, though if I move the spotlight to the outside of the container, I can see the light on the outside surface. The outside and inside surfaces both have the same texturing.

I’ve tried changing the frontface/backface culling, and the depth offset which the tutorials say could be causing self-shadowing, and haven’t gotten the lighting to work properly. How can I get the Spotlight to show light on the inside of my container?

The simplest way might be to just create another, inverted cylinder inside your main cylinder. Such geometry should then act as any other geometry, and so take lighting as expected.

Interesting, that seems to work well. Thanks for your help!

1 Like

To give you a bit more detail on what’s going on, each face/triangle/quad has a facing/direction associated with it. The vector representing this facing is called the normal vector. Lighting equations depend on the relationship of this normal vector versus the light direction. If the light is a shadow caster, then a shadow will be applied later based on occluding objects (i.e., objects blocking the light), but otherwise light will happily “bleed through.”

A face can only have one normal vector, and, in the case of your container, will either be lit as if the normal is facing the light (i.e., they point outside the container) or away from the light (i.e., pointing inside the container). This is why you can only get either the outside or the inside to light up. Adding another set of faces as @Thaumaturge gets you normal vectors on both sides of the container.

2 Likes