Cross Hatch Shader

Step One: Shade

The first step to making the cross hatch shader is adding shading to the surface of our object. We can do this by using a color ramp function to differentiate between the light and dark areas of the scene. After that, we can use the color ramp as a mask for a cross hatch texture on the surface of the mesh. Areas that are white on the color ramp will reveal the hatch texture, while areas of black remain unseen. If we combine multiple shading passes the have differing line thickness and contrast, we can produce a more natural shading.

Color Ramp

High Contrast Pass

High Contrast Pass

Low Contrast Pass

Combined Pass

Step Two: Color & Highlight

The next step is to add color to the texture. We can do this by combining the RGB values of the monochromatic cross hatch shader and our desired base color. This will add color to the object based on the brightness of the cross hatching.

Color Pass

After that, we can apply a highlight pass that does not have the cross hatching. To do this, we just have to apply a color ramp function (seen in the example above) and combine the RGB values to the output of the cross hatch function.

Highlight Pass

Step Three: Outline

Using a color ramp function driven by a fresnel function, which calculates brightness based on an edges position to camera, we can create an outline that helps differentiate our subject from the background.

First Outline Pass

Second Outline Pass

Final