I am looking to render Saturn and its rings. The sun illuminates the diffuse material of the rings on their sunlit side but their backlit side needs to have an emissive shader. However the rings must be unilluminated on either side where shadowed by Saturn itself.
Thus, in the material nodes for Cycles, I need a way to separate light rays into three categories:
- Direct illumination: light rays directly hitting the diffuse sunlit side
- Self-shadowed: light rays directly blocked by the sunlit side of the rings themselves
- Externally-shadowed: light rays that never touch the rings because they are shadowed by the planet
This is similar to the "Is Shadow Ray" output from the Light Path node, except that covers both the self-shadowed and externally-shadowed cases together. I am looking for a way to split that up.