原理
使用6张素描纹理进行渲染,在渲染阶段,在顶点着色阶段计算逐顶点的光照,根据光照结果决定6张纹理的混合权重,并传递给片元着色器。在片元着色器中根据这些权重来混合6张纹理的采样结果
Shader实现
Shader "Hatching"
{
Properties {
_Color ("Color Tint", Color) = (1, 1, 1, 1)
_TileFactor ("Tile Factor", Float) = 1
_Outline ("Outline", Range(0, 1)) = 0.1
_Hatch0 ("Hatch 0", 2D) = "white" {
}
_Hatch1 ("Hatch 1", 2D) = "white" {
}
_Hatch2 ("Hatch 2", 2D) = "white" {
}
_Hatch3 ("Hatch 3", 2D) = "white" {
}
_Hatch4 ("Hatch 4", 2D) = "white" {
}
_Hatch5 ("Hatch 5", 2D) = "white" {
}
}
SubShader {
Tags {
"RenderType"="Opaque" "Queue"="Geometry"