Corona doesn't have toon shader yet, but it doesn't have to stop us from trying to hack one :] This trick is more based on geometry, rather than on materials, so it may be impractical in most situations, but sometimes it can be useful anyway. BTW, i'm not an author of this technique, i just adapted it to Corona. So let's get started.
Take an object to which you want apply toon shader and make a copy or reference of it, but do not make instance. Let's call it ink object for convenience. Make sure that it always shares same transformations with original. Link or group a pair to be safe. Apply
Push modifier to ink object and set
push value to some small number. This will control ink line width. You can always adjust it later if needed. Now add
Normal modifier and make sure that
flip normals is checked. This step is optional, but it will make easier to select original object in viewport. Additionally you can add noise modifier, to break ink outline a little bit and make it more interesting. And it's good idea to turn on backface culling via object properties, for a visual representation in viewport. That's it geometry preparation is complete. You can copy those modifiers and instance them on other objects if needed.
Now, for materials. Original object may have whatever material you want, no restrictions here. Ink object has to be assigned with following material: create CoronaRaySwitchMtl, into all but
global illumination slots plug instanced CoronaMtl, set diffuse, reflection and refraction slots of that material to 0, 0, 0 and plug CoronaFrontBack map into opacity slot, set front to white and back to black (or vice versa if you didn't add normal modifier to ink object).
That's it, you're ready to render Corona toon! Have fun!
![](https://forum.corona-renderer.com/index.php?PHPSESSID=9uhe2tn6d9u1nsgokdopfh4gv9&action=dlattach;topic=9728.0;attach=39234;image)