Toon shader rendering tips

Hey guys. So I’m trying out toon shaders, and I want to render it out but the shader seems to change when I switch to Eevee. Is there anything I can do to fix this? Is it normal?

Your bottom screen isn’t showing you your render, it’s showing you a Material Preview using a sample HDRi. Your results when you click Render will not look like the bottom image. Beyond that, it’s a bit hard to say- you say the result changes when you render it out, but you’re not rendering, you’re just viewing it in Viewport Preview in the viewport, so I’m not sure what your level of experience with Blender is. More details about your process would be helpful :slight_smile:


Oh right yes, my bad. Please allow me to elaborate.

Firstly, I only have about a year’s worth of experience with Blender, so I’m fairly new at this (and some of the jargon).

Secondly, the material preview is the look that I’m going for, but my top screen is what I get when I switch to Eevee in my viewport (plus the shader no longer moves with the camera when I switch to Eevee). Is there a way to maintain the look from the bottom screen when I render, or alternatively, what advice can you give me in general for rendering with toon shaders?


Ok gotcha. So to get the bottom look in your render, you’ll need an HDRI background:

If you want to get the exact result, you’ll need the exact HDRI- @KickAir_8P , can you link to the HDRI being used in the Material Preview here?


That looks like sunset.exr – if needed there are higher-res versions of available at PolyHaven as Venice Sunset . (There’s a full list of Blender’s included HDRIs and PolyHaven’s higher-res versions here.)

Edited to add: The vidder links to another of his vids showing where he gets his free CC0 HDRIs, HDRI Haven (which is also what Blender’s readme cites as the origin of its included HDRIs). That’s now PolyHaven, they’re the same place. Also, in World he removes the Background node before adding the Environment Texture node – last I looked current best practice is to plug the Environment Texture node into the Background node, that allows the Background node’s Strength control to apply to the HDRI output.

Edited again :flushed: to add: the HDRI shown in that vid is Venice Sunset , Blender’s default HDRI in the Material Preview is forest.exr, the higher-res versions at PolyHaven are Ninomaru Teien .


Oh so that was the issue :scream: :joy: ? Wow, I totally overlooked that, thanks for the tip. By any chance is it possible to render toon shaders in Cycles?

1 Like

It depends - generally, the answer is no, but there is a Toon BSDF in the Cycles shaders. It’s awful and should be sunsetted, it’s not actually a toon shader, but it might be what you’re looking for.

Generally speaking, Eevee is for NPR (non-photorealistic, or stylized) work, but you can do some interesting things with stylization in Cycles. Just not cel (toon) shading, because the Shader to RGB node doesn’t work in Cycles.

1 Like

I see what you mean. I think I’ll stick to Eevee then so I can do something stylized. Thanks again

1 Like

One (hopefully) last bit: There are three renderers that come with Blender: Cycles, Eevee, and Workbench. Workbench is what Blender uses in its viewports by default – it’s not intended for final output renders, just for giving you an idea of what your scene looks like while using minimal computer resources. Viewport Shading - Material Preview uses the Workbench renderer :asterisk: and a low-res HDRI to, well, preview your materials. Emphasis on the “pre” in preview, this is a quick’n’dirty methodology.

So anytime your render doesn’t match the preview in some but-that’s-what-I-wanted way, that’s probably going to be why.

:asterisk: Whoops, that’s wrong, details here.


Feel free to keep em coming, we live to learn after all :joy:. Noted, I’ll have to keep an eye on that for future texturing and rendering, thanks.

I noticed you have hard, sharp, shadow edges between color boundaries, like this:

To make them smooth, like this:

Press W after selecting the object and choose Shade Smooth

1 Like

Will that raise the poly count? Cause I’m trying to go for something low-poly

Nope, it won’t change poly count :slightly_smiling_face:

1 Like

That’s awesome :raised_hands:

1 Like

Yes, I’m an idiot, ask me how! Or, I was wrong: although Blender uses the Workbench renderer in Wireframe and Solid Viewport Shading, it uses Eevee in Material Preview. Still intended to be a less-resource-intensive previz that won’t exactly represent the final render, but if you’re rendering in Eevee, the discrepancies aren’t because the Material Preview uses Workbench.