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.