Repolode
zeux

zeux/meshoptimizer

Biblioteca C/C++ para optimizar mallas de triángulos, acelerar su renderizado en GPU y reducir su tamaño de almacenamiento y transmisión.

Estrellas
8,602
Forks
729
Issues abiertos
7
Último commit
hace 8 días

¿Qué es?

meshoptimizer es una biblioteca de algoritmos en C y C++ para procesar mallas de triángulos. Reordena los búferes de vértices e índices para mejorar la eficiencia de la caché de vértices y el acceso a memoria de la GPU, reduce el overdraw y cuantiza los atributos de vértice para almacenarlos en formatos más compactos.

La biblioteca también ofrece simplificación de mallas para generar versiones con menos detalle, además de generación de meshlets y clústeres para mesh shaders, ray tracing por clústeres y culling de clústeres. Sus codecs de vértices e índices comprimen los datos de las mallas sin pérdida y permiten decodificarlos rápidamente; además, el resultado sigue siendo compatible con compresores de propósito general como zstd o LZ4.

El núcleo se distribuye como un encabezado y archivos fuente de C++ que se pueden compilar con CMake o añadir directamente al sistema de compilación de un proyecto. También está disponible como la herramienta de línea de comandos gltfpack para optimizar archivos glTF y mediante bindings para Rust y JavaScript.

Funciones clave

  • 01Reordena índices y vértices para mejorar la localidad de la caché de vértices y los accesos de la GPU.
  • 02Ofrece simplificación de mallas para generar versiones con menos detalle.
  • 03Genera meshlets y límites de clústeres para mesh shading y culling de clústeres.
  • 04Ofrece codificación sin pérdida de vértices e índices para reducir el tamaño de almacenamiento y transmisión.
  • 05Incluye funciones auxiliares de cuantización para normales, posiciones y coordenadas de textura.
  • 06Ofrece interfaces tanto para C como para C++, utilizables desde otros lenguajes mediante FFI.

Casos de uso

  • Preprocesar recursos para juegos o renderizadores en tiempo real a fin de reducir los fallos de caché de vértices y el overdraw.
  • Crear cadenas de LOD mediante simplificación de mallas para objetos distantes.
  • Reducir el tamaño de modelos glTF para distribuirlos en la web o en dispositivos móviles con gltfpack.
  • Preparar meshlets para GPU compatibles con mesh shaders o ray tracing por clústeres.

Inicio rápido

  1. 1

    Clona el repositorio de la versión v1.3

    git clone -b v1.3 https://github.com/zeux/meshoptimizer.git
  2. 2

    Compila la biblioteca con CMake o añade los archivos de código fuente que necesites al sistema de compilación de tu proyecto

En colecciones

Temas

Preguntas frecuentes

¿Qué es meshoptimizer?
Biblioteca C/C++ para optimizar mallas de triángulos, acelerar su renderizado en GPU y reducir su tamaño de almacenamiento y transmisión. meshoptimizer es una biblioteca de algoritmos en C y C++ para procesar mallas de triángulos. Reordena los búferes de vértices e índices para mejorar la eficiencia de la caché de vértices y el acceso a memoria de la GPU, reduce el overdraw y cuantiza los atributos de vértice para almacenarlos en formatos más compactos.
¿meshoptimizer es gratuito? ¿Qué licencia tiene?
meshoptimizer es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿meshoptimizer sigue mantenido?
Mantenimiento activo. El último commit de meshoptimizer fue el 14 oct 2026.
¿Para qué puedo usar meshoptimizer?
Preprocesar recursos para juegos o renderizadores en tiempo real a fin de reducir los fallos de caché de vértices y el overdraw. Crear cadenas de LOD mediante simplificación de mallas para objetos distantes. Reducir el tamaño de modelos glTF para distribuirlos en la web o en dispositivos móviles con gltfpack. Preparar meshlets para GPU compatibles con mesh shaders o ray tracing por clústeres.
¿Cómo se instala meshoptimizer?
Clona el repositorio de la versión v1.3: git clone -b v1.3 https://github.com/zeux/meshoptimizer.git Compila la biblioteca con CMake o añade los archivos de código fuente que necesites al sistema de compilación de tu proyecto
¿Dónde consigo meshoptimizer?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/zeux/meshoptimizer

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados