Toon - Arnold User Guide
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The Toon shader is part of a non-photorealistic rendering (NPR) solution that is provided in combination with the contour_filter.
There are some current limitations when using the Toon shader. These are as follows:
- Volumes, motion blur, and DOF do not currently work with the Toon shader.
- Toon edges can be jaggy if the pixel intensity is greater than 1.0 (for example, when incorrectly combining a Background shader with the Skydome Light Camera Visibility). This can be fixed by clamping the Camera (AA) samples.
- GPU Toon shading: The Toon shader is currently limited to rendering direct lighting only (no reflections, refractions, or indirect lighting).
The diagram and accompanying text below describe the shading components that form the Toon shader. Note that the appearance of the Base Tonemap (using a ramp) appears very different with a Skydome Light (soft gradation) compared to that of say a Distant Light (hard gradation).
![]() |
![]() |
skydome light | distant light |
- Edge (requires Contour Filter)
- Stylized Highlight
- Specular/Base Tone Mapping
- Rim Lighting
- Toon Shader Visibility
- Pixel Art Style
- Hatching
- Cross Hatching
Edge (requires Contour Filter)
The Toon shader supports Line Color and Width Control. Both of these are useful for avoiding line clutter and changing the line stroke style. The edge detection also uses id, mask color, and texture UV discontinuity.
To view the toon edge you must change the Filter Type (sampling settings) to Contour. Note that increasing the Contour Filter Width (Sampling settings) value will increase render times.
Stylized Highlight
An arbitrary texture that can be used to create a highlight. A light must be specified for the stylized highlight. Stylized Highlight requires subdivision with Smooth Tangent enabled, otherwise, artifacts may be visible.
Specular/Base Tone Mapping
The Toon shader uses cell shading via ramp nodes for both base and specular. While it is recommended to connect ramp shaders to the tonemap attributes, any shader can be connected.
Rim Lighting
Connect a ramp here to create a rim lighting effect. A light can be specified to create the rim lighting effect.
Toon Shader Visibility
The Toon shader is visible in specular reflections (up to 3 bounces), transmission, and also works with displacement (ear uses Geometric Normal, Angle Threshold: 3).
![]() |
![]() |
![]() |
Pixel Art Style
A pixel art style can be achieved by using negative Camera AA samples with the Toon shader.
![]() |
![]() |
![]() |
Toon with Base Tonemap and Specular Tonemap (Distant Light)
Hatching
A cross hatching sketch style can be achieved by connecting an UberNoise.osl to toon.mask_color.
![]() |
![]() |
![]() |
UberNoise.osl-> toon.mask_color
Cross Hatching
Displacing the surface with a texture can help to create a crosshatch effect with Toon Edge shading.
Teapot displaced with Noise shader
Pepe model by Daniel M. Lara (Pepeland). Mery model by Jose Manuel Garcia, www.meryproject.com