Volver al inicio

meshoptimizer 1.1: compresión de meshlets

meshoptimizer 1.1 introduce códec para compresión de meshlets con descompresión hasta 150 GB/s en GPU y generación de micromapas de opacidad para Vulkan/DirectX. Codificación independiente simplifica la integración. Adecuado para optimizar escenas 3D complejas en tiempo real.

meshoptimizer 1.1: compresión ultrarrápida de meshlets y OMM
Advertisement 728x90

# meshoptimizer 1.1: Compresión de meshlets y micromapas de opacidad

La nueva versión de la biblioteca meshoptimizer 1.1 añade un códec para compresión de meshlets y soporte para generar micromapas de opacidad. La actualización se centra en la optimización de topología para renderizado en GPU y aceleración del ray tracing. El desarrollo está en C++ y JavaScript bajo licencia MIT, con contribuciones principales de Valve.

Optimización de mallas de triángulos

La biblioteca meshoptimizer mejora el procesamiento de vértices e índices en las etapas del pipeline de GPU. Los algoritmos reducen la complejidad de la malla, minimizan los costos de almacenamiento y aumentan la eficiencia del renderizado. Desde 2017, el proyecto ha evolucionado, con la versión 1.0 lanzada en diciembre de 2025.

Herramientas relacionadas:

Google AdInline article slot
  • gltfpack: Utilidad de línea de comandos para la optimización automática de archivos glTF.
  • clusterlod.h: Biblioteca C/C++ para LOD agrupado con nivel de detalle continuo.

Códec de compresión de meshlets

El nuevo códec comprime la topología de meshlets explotando la localidad de los micro-índices y datos de vértices. Cada meshlet se codifica de forma independiente, lo que simplifica el paralelismo y la estructura de almacenamiento en tiempo de ejecución.

La decodificación está optimizada para alta velocidad:

  • CPU: 7–10 GB/s en procesadores de escritorio, compatible con memoria write-combined.
  • GPU: >150 GB/s en RTX 5070 mediante compute shader.

Los datos de salida se comprimen adicionalmente con Zstandard. El decodificador genera formatos de 3/4 bytes por triángulo y 2/4 bytes por vértice para uso directo en GPU.

Google AdInline article slot

Micromapas de opacidad

Las funciones generan micromapas listos para hardware a partir de coordenadas UV de malla y textura alpha. Soporte para Vulkan (VK_EXT_opacity_micromap) y DirectX (DXR 1.2).

Cada triángulo se divide en 4^N micro-triángulos a lo largo de UV. Opciones de representación:

  • 2-estados (1 bit): eliminación completa de llamadas a shaders para el máximo rendimiento en ray tracing.
  • 4-estados (2 bits): aceleración de shaders any-hit mediante búsqueda en textura.

Reutilizar mapas entre triángulos mediante buffer de índices OMM minimiza la memoria. Para 4-estados, hay un fallback a 2-estados disponible.

Google AdInline article slot

Puntos clave

  • El códec de meshlets ofrece descompresión a 7–10 GB/s en CPU y >150 GB/s en GPU.
  • Micromapas generados desde UV y alpha, compatibles con Vulkan/DirectX.
  • Codificación independiente de meshlets simplifica paralelismo y almacenamiento en tiempo de ejecución.
  • Soporte para estados de 1/2 bits para optimizar ray tracing y shaders.
  • Compresión adicional con Zstandard para el tamaño final.

La actualización va dirigida a desarrolladores intermedios/senior que trabajan con renderizado en GPU y ray tracing en motores de juegos. La integración no requiere cambios en pipelines existentes.

— Editorial Team

Advertisement 728x90

Leer después