Inking in Blender

This is essentially a quick tip explaining a simple setup for a basic technique for inking. I like contrast and comic styled shaders, so I worked on this a bit to see if I could obtain a reasonable look using a GLSL compatible material setup. I came up with a simple ramp shader and I only use one sun lamp. The benefit to it is that you are nearly always seeing exactly what you are going to render in your camera! The other benefit is that it renders very quickly even with AA [anti-alias] at 16x.

Let’s see the some examples!

Here we have a traditional comic book style inking– Simple black and white, but it shows lighting and can set mood depending on your use of more or less black:

In Blender, we have the luxury of being able to model and toy with model positions, lights, and materials to make this happen. Here is some of the results I have had with files swiped from Blendswap:

As you can see, I have obtained a fairly reasonable results. And here is the fun part, showing you how easy it is!! The following is a screenshot of Lumpycow’s “Hunter”: [Click for larger view]

Some things worth noting about the setup:

  1. I am using a BASIC material ramp using constant, and “result” as input type
  2. I have enabled “Full Oversampling” in the options panel, this gives smooth lines at the terminator, try it without–UGLY
  3. I have enabled GLSL for shading mode, and also “Only Render” to see, well, only rendered objects, no widgets or lines or anything.
  4. For a bit better result, I use the standard “Edge” render in post processing to get the basic edges you see in the previous examples.
  5. I am using only one sun lamp, you can optionally use ray shadow, which is still fairly fast.

And the final render of this setup:

Very intimidating!! I had fun playing with this setup and it is entertaining to take random files and see what stuff looks like.

That is about it for the basics, for your convenience, here is a blend file with the simple material and light setup: BasicInk.blend

Go have fun! Here is an abstract I did just for the heck of it: