Building a Fancy Stylized Tree Shader

Learn a bunch about shading by making an excessively fancy tree leaf shader! Our subject is a spherical tree that will get custom radial Normals, mixed colors, and much more. We’ll try to keep it compatible with Instancing and Scattering, but this tutorial isn’t about those.

You do not need a huge amount of shader node knowledge to follow along, but this is probably above absolute beginners. There’s lots of good foundational information like how to balance lights, map ranges, and mix colors. Also advanced stuff like lifting Normal Map details and applying them to Custom Normals via Surface Gradients!

Project Files on Gumroad here ($2)


  • Balancing the Sun Light
  • How World Lighting affects shading
  • Basic and advanced Radial/Sphereical Normals
  • Faking Sun Angle in the material
  • Making fake shading (Lambert Shading)
  • Lots of color mixing and effects
  • Leaf Texture (alpha and Normal Map)
  • Randomized UVs
  • Getting Random Per Island in Eevee via Geometry Nodes
  • Compensating for Object transforms in Object based Normals
  • Mixing Noise into Normals for variety
  • Using Surface Gradients to combine Normal Maps and Custom Normals
  • Faking tree density with Object Coords
  • Using AO to darken and brighten things
  • Distance from Camera based masks
  • Tons of other random stuff.

This post on my blog.


This looks interesting, I’ll be checking this out for sure :slight_smile:


That looks awesome ! Thanks a lot for sharing this technique !

1 Like

Man ! I’m 45mn in the tutorial, it’s like watching a triller movie ! I’m totally amazed and learning a ton of little tricks ! It’s super well explained on top of that ! Thanks a lot and I’m getting back at it !
I hope the nice guy will manage to save the world at the end !

Edit : Now I’m at 1h30, I’ll make a break because I’m enjoying it too much !
Once again , thank you very much, I’m learning a lot of new stuff, and many things I kinda known them, but seing them so well explained make them much more clear !
It’s even more than awesome because on top of having very different ways to do similar things and learning great stuff, this totally invites you to explore and make your own choices between all these solutions, rather than explaining a clever trick but that will never really work in a sligtly different context.

I’m looking into NPR with cycles render ( don’t ask me why :smiley: ) and this is definitly going to help me a lot , even more because vegetation as always been something I totally failed at on the rendering side ! I’ll have a blast at using some of these techniques and adapt them to fit the design style I’m looking for ! Thank you again !!


Thanks! This sums up my goal as a tutorial maker :sunglasses:

I’ve done a lot of work with Cycles NPR (to the extent that it can even do it), so let me know if you run into issues. You can do these Lambert shaders in Cycles too! In fact, that’s the only way to get toon shaders that won’t get bounce light, and that you can work with as color (unless we’re talking OSL?). But then, why use Cycles at all? You may want to look into Malt, or into only rendering bounce light out of Cycles.


Super cool ! That’s really high quality learning material that you provide !
Even more you manage to make all that look easy and straightforward but there should be a lot of work to make everything flow naturally ! well done !

I’m currently starting experimenting with cycles. We tried Eevee also which allow naturally more NPR tricks with “shader to RGB”. What make us look for other options is when we tried more complex scene with many objects, materials, procedural textures + many instances on top of that…

In cycles for now we try a different approach by staying close to the engine and avoid things like recreating everything with maths, to be able to play more with lights and to allow easy and heavy procedural texturing.

Before it was more like we completely broke reality into pieces, and then reconstruct it manually in a bit painfully way (when it comes to actually use the previous shaders we did on many objects in a scene and trying to get a cohesive look). Where now we can have light and colors that behave mainly like they whould in reality, but with some degree of stylization and an overall illustrative feel.

But I’m far from an expert when it comes to NPR so I may approach this from the wrong angle. And I’m just started to test things.

And of course looking at your video is starting to give me new ideas :smiley:

Malt seems awesome too, but it’s only GPU based ? another thing that makes us test cycles is that we have access to a great renderfarm, but mainly CPU based.

Are you working in CG ? Maybe at some point having you look at what we’ve done and provide some insight might be really great !

I looked at OSL too, wich looks quite interesting too even with it’s own limitations. At least it allows for an extra layer of hack which seems just the regular necessary evil NPR asks for …

Thanks again !

1 Like

You’ve summed up the tradeoffs between Eevee and Cycles well there. Eevee does start to run into issues on larger projects unless you make lots of optimized LODs or other optimizations like they do in games. Compile times in Eevee quickly become worse than render times in Cycles when using complex materials (even render times on CPU!) This used to be more of an issue, but the recent speed increases to Cycles and the Denoiser really make a big difference.

And of course, Cycles can use full system RAM when using CPU, instead of being limited by VRAM!

OSL is also a huge advantage too! And if you’re rendering CPU anyway, you can mix OSL in with other stuff. I suggest checking out Cycles ToonKit for a collection on OSL NPR nodes. They can’t handle everything, but we’re also now getting the viewport compositor soon, which can fill the rest of the holes.

Malt is going to give a lot of power, control, and customization. But yes, it is only GPU. And it is still early days for it.

I don’t work in CG yet, I’m just an advanced hobbyist. I hope to make 3D stuff my proper career at some point, but I’m still doing R&D on NPR workflows and haven’t fully monetized anything yet or found anywhere that wants my particular skillset. But I have been chipping away at this stuff for ~9 years off and on, so feel free to ask me any questions :slight_smile:


Cycles ToonKit seems awesome too indeed ! and yes, CyclesX + adaptive sampling and denoising gives pretty acceptable results, it’s getting quite solid and of course I can’t wait for viewport compositor ! Such a game changer and so much inlined with grease pencil and eevee !

Malt looks awesome ! even more, I’m getting the feeling that this is what we should definitively have been used, but I fear getting the same issues as Eevee and we probably should keep the CPU renderfarm in mind. So maybe a bit too early, but anyway that’s something I’ll definitly keep an eye into !

I just gave a quick look at your work and I’m only at 1h45 in the tutorial but I can already tell that if you don’t manage to get a job in CG I think that would be also the case for 80% of people out there :smiley:

You seems to have a lot of general skills like modeling, rigging, and of course all these NPR and shading tricks. That’s to me already quite an advanced level ! Maybe the missing bits would be to diversify you a bit. Of course if you wait for a CG anime style project with blender in your neighbourghood it may get a bit more complicated than it could be. Also what kind of job in CG you’re looking for ? more freelancer or in a company, film, games, vfx, archviz ? all these are very different.

But given what I see, I’m pretty sure you can adapt to many other kind of projects right away.
And once you start to work in that field it get more and more easier to find the next gig.

I see a lot of companies coming to blender for grease pencil, which I guess means adding at least a bit of 3D into the mix, and finding blender expert is always complex, even more NPR specialist.

On the other hand I really don’t know about monetizing stuf in blender, like tutorial or assets, so I can’t advice on these …

I’ll definitively let you know how it’s going with Cycles ! In the meantime if you want some feedback on what a carrer in CG might be, or if you want to show a portfolio, feel free to ask me anytime you want !

1 Like

Even if you stick to Cycles for RAM and compile time reasons, you may want to consider Malt for effects and other screen shader level stuff (if you need anything that the compositor cannot do.) The workflow would be to output to images from Cycles, then bring those into Malt and use whatever screen shaders you want with them. You can write much better glows, line art, etc than is currently available in the compositor.

Yes, I have a broad and rather odd skillset. I’ve been working towards knowing everything I need to illustrate my own comics with the main focus being characters. So I know pretty much everything that goes into characters and have decent hardsurface and environments. And a ton of shader and Normals stuff. But nothing animation related.

However, I don’t have the exact forms of these skills that people hire for. Like I don’t have much game engine experience, or know the specifics of creating characters or rigs for game engine use. I could pick that stuff up and make a portfolio/reel aimed at such a position, but it would take several months. And I haven’t done that because my main goal is to complete the stylized anime character workflow I’ve been pursuing for years (and that has finally become possible with Malt and GeoNodes.)

So I want to complete that goal, but basically I’ve been building a skillset that nobody is hiring for yet! But I think they will be. And it’d be fun to get into that earlier than most.

If you’d like to chat more, you can find my email on my website or youtube about page :slight_smile:

1 Like

That’s quite interesting ! Sounds like Malt is definitively worth checking, I’m not sure how much helpful that would be for the project we’re doing, but nonetheless, it looks like it can do a lot of things and it fills a gap for sure ! Thanks a lot for the hint !

About what you said related to jobs, ok ! I think I can discuss on a lot of point and even if I totally get what you said, it could be much simpler !
I’ll get in touch with you that will be simpler and that will let the subject on topic !