Este problema se parece a los artefactos estándar del acné del mapa de sombras. Además, la ecuación de iluminación de tu está incompleta o incorrecta. La luz no debe influir en los rostros con normales mirando hacia otro lado. Esto también significa que con una ecuación adecuada, el lado "oscuro" de la esfera no debería tener artefactos de acné.
Hay tres fuentes de artefactos para el acné:
- La primera fuente de acné es la precisión del mapa de sombras. Asegúrese de que los planos cercanos y lejanos de la sombra que proyectan la luz estén lo más ajustados posible. Todos los objetos antes del plano cercano se pueden pancarcar, ya que su profundidad exacta no es importante.
- La segunda fuente de acné es la resolución del mapa de sombras. Para una luz direccional, debe hacer mapas de sombras en cascada con al menos 3 1024x1012 cascadas para ~ 100-200m de distancia de sombra. Es difícil cubrir una distancia de sombra similar con un mapa de sombra con proyección uniforme.
- La tercera fuente de acné es un filtro de mapa de sombra amplio como PCF, ya que el uso de un solo valor de comparación de profundidad de profundidad en un núcleo ancho es insuficiente. Hay muchos métodos para solucionarlo, pero ninguno de ellos es robusto.
Para resumir, un frustum ajustado con algunas cascadas y algunos ajustes de sesgo es suficiente para que el caso general funcione (luz direccional). Comience a ajustar deshabilitando el filtro de sombra y ajuste para filtrar solo cuando los mapas de sombra básicos sean lo suficientemente robustos.
Además del sesgo de profundidad constante (que usa actualmente) también debe agregar el sesgo de profundidad de pendiente y el sesgo de profundidad de pendiente máxima. Ambos se pueden implementar como estado de representación o como código de sombreador durante la representación de mapas de sombras. El sesgo de profundidad de pendiente es simplemente un valor de sesgo mágico escalado por punto (normal, lightDir).
Hay algunos métodos interesantes adicionales y la mayoría de ellos se implementan en la excelente demostración: Matt Pettineo - "Una muestra de técnicas de sombra" .
- Voltear el sacrificio durante la representación del mapa de sombras (cambia el acné por el desplazamiento de Peter).
- El mapeo de sombras de desplazamiento normal hace maravillas por problemas de sesgo, pero requiere tener vértices normales durante el sombreado.
- Los métodos basados en la variación (ESM, VSM, EVSM) eliminan completamente los problemas de sesgo, pero tienen otros inconvenientes (fugas leves y / o problemas de rendimiento).