¿Creación de activos para renderizado de campo de distancia firmado?

9

En los gráficos de computadora tradicionales, la mayoría de los modelos 3D se renderizan mediante rasterización o trazado de rayos contra una malla subdividida de primitivas, generalmente triángulos o cuadrículas. Más recientemente , algunas técnicas en tiempo real se han basado en el trazado de rayos contra campos de distancia firmados (SDF). Intuitivamente, estos campos de distancia no pueden ser los mismos triángulos y cuadrantes de la representación tradicional y deben ser algo así como primitivas geométricas 3D (cubos, esferas, etc.) para obtener el sombreado adecuado. ¿Es esto cierto? Si no, ¿se pueden representar escenas complejas de modelos 3D "tradicionales" utilizando SDF? Si es cierto, ¿cómo crean los artistas modelos de alto detalle utilizados en los renderizadores SDF?

Mokosha
fuente

Respuestas:

7

Los campos de distancia firmados son populares en aplicaciones de gráficos mínimos, como la escena de demostración, donde se pueden sintetizar objetos interesantes a partir de unas pocas primitivas analíticas simples, como esferas o cubos. Sin embargo, los campos de distancia con signo no están restringidos a estos objetos simples, y no necesariamente deben ser diseñados por un humano. Por ejemplo, puede sintetizar el campo de distancia analítico con signo de una malla triangular sin ninguna interacción del artista: después de todo, el SDF es solo la distancia con signo al triángulo más cercano, que puede calcularse fácilmente. Esto le permite seguir usando su tubería de malla tradicional mientras también usa SDF en segundo plano.

En el caso de Unreal Engine, el SDF se calcula automáticamente una vez para todas las mallas estáticas y luego se muestrea en una textura 3D de baja resolución. Luego se puede evaluar de forma económica en todas partes utilizando una simple búsqueda de textura, lo que les permite crear sombras suaves y similares en tiempo de ejecución. Esta presentación irreal en GDC 2011 menciona brevemente las texturas 3D (diapositiva 27).

Benedikt Bitterli
fuente
1
También es fácil generar un SDF a partir de un modelo de vóxel.
Nathan Reed
Hay un artículo sobre GPU Gems 3 sobre la construcción de campos de distancia firmados para mallas arbitrarias utilizando la GPU, que está disponible gratuitamente aquí: http.developer.nvidia.com/GPUGems3/gpugems3_ch34.html
Matteo Bertello