Sun does not light interior objects

Hi All,

I have not played around alot with raytracing, but I thought I’d give it a try. I ran into a problem, however. It seems the Sun lamp will not actually light something that is inside an object. Even if that object has ray-transparency enabled and the alpha set to 0.

Here are my pictures, I am trying to get the interior of the cockpit lit by the lamp in the scene. One picture has the cockpit glass removed so you can see the interior, the other the glass is in place and you can see the IOR at work along the edges, but no lighting is happening inside the cockpit.


Thats odd, the pictures look fine once you click on them, but their thumbnails are all messed up?

I’m guessing you don’t have TraShadow enabled for the objects inside the cockpit. It’s on the Shaders panel.


I enabled it both on the glass of the cockpit and the cockpit material itself. That does not fix it.

It’s not that I want shadows inside the cockpit, I want light!

You need to enable it on the shadow receiving material not the shadow casting material. In your case the material of the interior.

EDITED: And you might have to edit the depth setting of your ray transp.


How about a simpler example.

Restart Blender and we have the default cube. Add a sphere and scale down 50%. The sphere is now entirely inside the cube.

NOTE: Shadow, SSS, Env Map and Ray are enabled in the render settings.

I apply a new material to the sphere and set the color to blue. I click on TraShadow for the sphere.

I apply a new material to the cube and make it red. I enble ray transparency and set the depth to 10. When I render, I get a solid cube. I should be able to see the sphere through the cube.

Using Blender 2.46 on Windows XP SP2.

Got it!

You have to turn the alpha of the material with the ray transparency all the way down to 0. The default for the material 1.0.

Are you using Buffer shadowed spot-lights? If so, change them to Ray Shadows. The TransShdow option only works with Ray shadows. The Buffer shadows will still be black. This will allow, you to using only Ray Transparency without Turing down the Alpha for the material.

Well alpha has to be less then 1 for a material to be actually be transparent. How did you achieve transparency without setting alpha?
And to add to what Dichomoty said if you use buffered shadows you need to use Ztransp to get transparency.

In the shaders panel of your interior, make sure that TraShadow isn’t checked. That description looks a little suspicious.

Also, I found that if you are using buffer shadows and really want to, you can select the glass and uncheck shadbuf in the render pipeline of the links and pipeline panel.

The post above Got It! does work.

I am using a Sun light, so it’s only option is ray traced shadows. You do need to enable the TraShadow material that is inside the object or no light is transfered to the interior object. Which is odd, because it is a shadow button.

Go ahead, give it a try and do my Cube Sphere example with a Sun light!

Actually when you think about it it makes sense. The interior material is ready to receive shadows (Shadow button is activated) Now when the algorithm checks it finds the interseciton with the sphere meaning that something is occluding the light. Now with the TraShadow button you tell the material to actually check wether the given material has alpha less then 1 and being able to let light transmit.
The important thing to keep in mind is that Shadow and TraShadow activate wehter a material receives shadows not if they cast shadows!

Hehe, sweet! I’ve helped my first blenderhead!