Los Directional lightmaps almacenan más información sobre el entorno de iluminación que los lightmaps normales. Los shaders pueden usar esos datos adicionales sobre la luz entrante para calcular mejor la luz que sale, que es cómo los materiales aparecen en la pantalla. Esto ocurre a un precio de un mayor uso de memoria de textura y tiempo de sombreado.
Usted puede escoger uno de los tres modos: Non-directional, Directional y Directional with Specular. Todos los tres disponibles como realtime y baked lightmaps.
Performance: the Directional mode uses twice as much texture memory as Non-directional lightmaps and has a slightly higher shading cost. Directional with Specular uses twice as much texture memory as Directional (it also uses two textures per set, but they’re split in two, so twice as many sets are needed). Its shading cost is comparable to two un-shadowed lights, as it runs the BRDF twice - for direct and indirect light. Non-directional: one texture, one texture sample, a few extra shader instructions. Directional: two textures, two texture samples, a few more extra shader instructions. Directional with Specular: two textures, four texture samples, high extra shader cost (about two un-shadowed lights).
Los lightmaps en tiempo real aprovechan el mismo enfoque y están sujetos a las mismas compensaciones de calidad/precio de shader. La única diferencia con la lista anterior es que el lightmap Realtime Directional with Specular utiliza tres texturas (intensidad entrante, dirección, normal), tomando tres muestras de textura. Tiene un precio de shader de una luz no sombreada, ya que ejecuta el BRDF sólo una vez. Funciona en combinación con una luz directa en tiempo real, por supuesto, que tiene su propio precio de shader.
El BRDF que se utiliza realmente para la luz indirecta (Directional with Specular realtime y la parte indirecta de baked) es una versión ligeramente menos costosa. UNITY_BRDF_PBS_LIGHTMAP_INDIRECT
está definido en UnityPBSLighting.cginc
.
El modoDirectional with Specular empuja el lightmapper a los límites de la técnica GI que utiliza, lo que en algunos casos conduce a artefactos (problemas). Éstos son a menudo parches de la dirección dominante incorrecta de la luz, causando el shader oscuro o negro. Algunos de estos problemas se pueden arreglar aumentando la resolución en tiempo Realtime/Indirect. Si todo falla, los modos de lightmap más simples son más robustos.