Mapas derivados versus mapas normales de espacio tangente

11

Descubrí que algunos motores usan mapas derivados en lugar de mapas normales de espacio tangente .

Después de leer un poco, parece ser una forma realmente increíble de reemplazar las normales del espacio tangente, pero ¿hay alguna desventaja en usarlas? ¿Por qué todavía seguir usando normales de espacio tangente?

¿Es posible comparar tanto con ventaja como con desventaja?

Estera
fuente
Hay varios blogs que hablan sobre derivados y sería genial recibir comentarios de las personas que los implementaron en su motor de producción y por qué eligen ese método.
MaT
2
Uno de los grandes factores de por qué las cosas no se adoptan de inmediato es la inercia y que la solución existente sea lo suficientemente buena.
monstruo de trinquete

Respuestas:

4

Después de algunas investigaciones y algunas respuestas de profesionales aquí está mi conclusión.

Pros

  • No requiere tangentes o binormales. Menos interpoladores.
  • Solo se necesitan dos canales. Menos memoria de textura.
  • No sufras costuras tangentes.
  • Se puede mezclar usando la mezcla alfa, sin renormalización.
  • Menos memoria de malla: no necesitamos almacenar un vector tangente.
  • Implementación rápida

Contras

  • Más ALU
  • Menos flexible Un mapa normal puede representar cualquier mapa derivado, pero lo contrario no es cierto. Como ejemplo, los bordes afilados pueden ser difíciles de representar.

Entonces, eso es un montón de ventajas en comparación con las desventajas. Pero el principal problema es que no es un estándar de la industria.
Casi no hay herramientas de creación de contenido ni conocimientos de artistas.

Aquí hay una cita de Bart Wronski que ilustra bien el estado actual de los mapas derivados:

Lamentablemente en la vida / la tecnología no siempre la mejor solución gana / ni siquiera recibe la atención merecida ... Se trata más de estándares e inercia.

Si está interesado en saber más sobre mapas derivados aquí hay algunos artículos interesantes.

Si olvidé algo o si no está de acuerdo, no dude en contarlo en los comentarios, me complacería mejorar esta respuesta.

Estera
fuente
Algunos de sus profesionales parecen no utilizar el espacio tangente precalculado (es decir, derivar el espacio tangente de derivados UV por píxel), que AFAIK es una opción de diseño separada, independiente de la elección de mapas derivados frente a mapas normales.
Nathan Reed
Gracias por el comentario @NathanReed ¿Estás hablando del hecho de calcular tangentes y binormales? ¿Podría contarme más sobre el espacio tangente precalculado?
MaT
1

Supongo que está utilizando derivados de mapas de altura calculados previamente en lugar de calcularlos sobre la marcha (para más detalles, consulte esta publicación en el blog de Mikkelsen). Si necesitamos suministrar derivadas de altura calculadas previamente, entonces tenemos que suministrar dos canales, al igual que un mapa normal. Se podría argumentar que el mapeo derivado no requiere la presencia de un atributo de vértice tangente como lo hace el mapeo normal, pero las operaciones de diferenciación adicionales en el mapa de altura anulan algo esa ganancia de rendimiento. Los mapas derivados son un concepto genial, pero al final del día no creo que sean significativamente mejores que el mapeo normal en cuanto al rendimiento (aunque conceptualmente estoy de acuerdo en que los mapas derivados son más fáciles de trabajar porque no tenemos que lidiar con espacio tangente).

AnimatedRNG
fuente