# 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:
- 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.
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.
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
Aún no hay comentarios.