JPEG del mundo 3D. ¿Qué es glTF?

Definición y una breve historia.


GLTF (GL Transmission Format) es un formato de archivo para almacenar escenas y modelos en 3D, que es extremadamente fácil de entender (la estructura está escrita en el estándar JSON), extensible e interactúa fácilmente con las tecnologías web modernas. Este formato comprime bien las escenas tridimensionales y minimiza el procesamiento en tiempo de ejecución de las aplicaciones que utilizan WebGL y otras API. glTF ahora es promovido activamente por el Grupo Khronos como JPEG del mundo 3D.


Se supone que GlTF es un formato de entrega de activos eficiente y compatible que comprime el tamaño de las escenas 3D y minimiza el procesamiento en tiempo de ejecución por las aplicaciones que utilizan WebGL y otras API. glTF también define un formato de publicación común para herramientas y servicios de contenido 3D.


La primera mención de glTF se remonta a 2012, pero entró en uso a partir del 19 de octubre de 2015, junto con el anuncio de la especificación glTF 1.0. Por el momento, se utiliza la segunda versión de la especificación (glTF 2.0), que se lanzó el 3 de marzo de 2017. A continuación, solo hablaremos de glTF 2.0.
Una descripción detallada de los interiores de este formato se puede encontrar en mis publicaciones posteriores: la primera parte y la segunda parte


La base de glTF y sus ventajas.


glTF se basa en 2 archivos: JSON para describir la estructura de toda la escena 3D y el archivo binario, para almacenar todos los datos de la escena, incluidos los mapas de textura que pueden ser "cosidos" en el archivo binario o almacenados por archivos externos. También hay una versión binaria de glTF llamada GLB, cuya única diferencia es que todo está almacenado en un archivo de 1 m con la extensión GLB.
Como ventajas adicionales en glTF, puede resaltar:


  • Una clara jerarquía de objetos en la estructura de la escena 3D.
  • Almacenar información de la escena, como fuentes de luz y cámaras.
  • Soporte para animación esquelética (animación de articulaciones)
  • Materiales y sombreadores más confiables.

Si compara glTF y COLLADA, las funciones que admiten son muy similares, pero recordando que glTF es principalmente un "formato de transferencia", su indudable ventaja será una buena compatibilidad con las tecnologías web. Para dar una analogía, usaría los formatos .PSD (Adobe Photoshop) y .JPG. El primero es bueno para editar el material de origen, pero para el almacenamiento y uso en Internet que utilizan, sin embargo, JPG.


Hoy, el 3D llega al cliente desde fuentes completamente diferentes, cada una con su propio formato. El usuario no necesita toda la información, no todos los formatos se pueden abrir en su aplicación. La estructura de la escena debe analizarse, los datos de geometría 3D deben convertirse al formato requerido por la API de gráficos. Los datos 3D deben transferirse a la memoria de la tarjeta de video, luego el proceso de representación puede describirse utilizando llamadas sucesivas a la API de gráficos. Como resultado, cada aplicación ejecutable debe crear sus propios importadores, descargadores o convertidores para todos los formatos de archivo que admitirá, como se muestra en la diapositiva.


imagen


El formato GLTF define un estándar para representar contenido 3D en una forma adecuada para usar en una aplicación en tiempo de ejecución. Los formatos existentes no son adecuados para la transmisión por Internet: algunos contienen solo información sobre la geometría, algunos contienen absolutamente todo y resultan ser demasiado voluminosos y difíciles de analizar, sin mencionar que se ejecutan en tiempo real (tiempo de ejecución).


GLTF fue diseñado solo para resolver este problema. Este no es "otro formato de archivo", del cual ya hay muchos, ¡es la definición del formato de transmisión de escenas 3D!


La estructura de escena descrita por JSON se puede analizar fácilmente, los datos 3D se almacenan en una forma que es fácil de leer y usar directamente por API gráficas, y por lo tanto no hay necesidad de decodificar o preprocesar datos 3D. De esta manera, GLTF puede ayudar a cerrar la brecha entre la creación y el procesamiento de contenido.


imagen

Source: https://habr.com/ru/post/es436686/


All Articles