Category es un agrupamiento lógico de cualquiera de los comandos a continuación. Esto es en su mayoría utilizado para “heredar” un estado de renderización (rendering state). Por ejemplo, su sombreador puede tener múltiples subshaders, y cada uno de ellos requieren que fog esté apagado, blending establecido a aditivo, etc. Usted puede utilizar Category para eso:
Shader "example" {
Category {
Fog { Mode Off }
Blend One One
SubShader {
// ...
}
SubShader {
// ...
}
// ...
}
}
El bloque Category solo afecta el análisis(parsing) del sombreador, es exactamente lo mismo que “pegar” cualquier conjunto de estado dentro de Category a todos los bloques debajo de él. No afecta la velocidad de ejecución del sombreador en absoluto.