How to disable shadow casting of an object?


--- Note: this article applies to Corona Renderer 1.4 and older. This behavior has been changed in post-1.4 versions of Corona and disabling "cast shadows" option in object properties now has the same effect as using the rayswitch material. ---


Corona is a physically-based renderer. Considering this, disabling shadows in "object properties" dialogue may produce results which are unwanted by the users experienced with "fake-heavy" renderers. In Corona "disabling shadows" in such a way as in Scanline renderer is not possible.


To achieve the "disabled shadows" effect similar to what other renderers offer, you can exclude the object from GI by using Corona Rayswitch Material.



Examples


1. Shadows of the teapot object are enabled.



2. Shadows of the teapot object are disabled using the "object properties" dialogue. In such scene there are no unexpected results.


2.1. "Cast shadows" disabled in "object properties" dialogue:




3. Shadows of the teapot object are disabled using the "object properties" dialogue. The object looks semi-transparent in reflection. This may be unexpected, however it is a correct result. This is because the environment is always a light in Corona, and reflective surfaces are not shaded separately from diffuse surfaces. 



4. The teapot object is excluded from GI using the rayswitch material. In such scene the result is virtually the same as when "cast shadows" is disabled from "object properties" dialogue.


4.1. Material setup:




5. However, the object will look "as expected" in reflections when using this method.