Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
zeux/meshoptimizer
Библиотека C/C++ для оптимизации треугольных сеток: ускоряет их рендеринг на GPU и уменьшает размер хранения и передачи.
- Звёзды
- 8,602
- Форки
- 729
- Открытые issues
- 7
- Последний коммит
- 8 дней назад
Что это?
meshoptimizer — библиотека на C и C++ с алгоритмами обработки треугольных сеток. Она переупорядочивает буферы вершин и индексов, повышая эффективность кэша вершин GPU и выборки данных из памяти, снижает overdraw и квантует атрибуты вершин в форматы меньшего размера.
Библиотека также упрощает сетки для создания их версий с меньшей детализацией и генерирует meshlet’ы и кластеры для mesh shader’ов, кластерной трассировки лучей и отсечения кластеров. Кодеки вершин и индексов сжимают данные сетки без потерь, сохраняя возможность быстрого декодирования; результат также хорошо сжимается универсальными компрессорами, например zstd и LZ4.
Ядро распространяется в виде заголовочного файла и исходников на C++, которые можно собрать с помощью CMake или напрямую добавить в сборку проекта. Библиотека также доступна как CLI-инструмент gltfpack для оптимизации файлов glTF и через биндинги для Rust и JavaScript.
Ключевые возможности
- 01Переупорядочивает индексы и вершины, повышая эффективность кэша вершин GPU и локальность выборки данных.
- 02Упрощает сетки для создания версий с меньшей детализацией.
- 03Генерирует meshlet’ы и границы кластеров для mesh shading и отсечения кластеров.
- 04Предоставляет кодирование вершин и индексов без потерь для компактного хранения и передачи данных.
- 05Включает вспомогательные функции для квантования нормалей, координат вершин и текстурных координат.
- 06Предоставляет интерфейсы на C и C++, которыми можно пользоваться из других языков через FFI.
Сценарии использования
- Предварительная обработка ресурсов для игр и рендереров реального времени, чтобы снизить число промахов кэша вершин и overdraw.
- Создание цепочек LOD с помощью упрощения сеток для удалённых объектов.
- Уменьшение размера моделей glTF для доставки в веб- и мобильных приложениях с помощью gltfpack.
- Подготовка meshlet’ов для GPU с поддержкой mesh shader’ов или кластерной трассировки лучей.
Быстрый старт
- 1
Клонируйте репозиторий версии v1.3
git clone -b v1.3 https://github.com/zeux/meshoptimizer.git - 2
Соберите библиотеку с помощью CMake или добавьте необходимые исходные файлы в систему сборки вашего проекта
Темы
Частые вопросы
- Что такое meshoptimizer?
- Библиотека C/C++ для оптимизации треугольных сеток: ускоряет их рендеринг на GPU и уменьшает размер хранения и передачи. meshoptimizer — библиотека на C и C++ с алгоритмами обработки треугольных сеток. Она переупорядочивает буферы вершин и индексов, повышая эффективность кэша вершин GPU и выборки данных из памяти, снижает overdraw и квантует атрибуты вершин в форматы меньшего размера.
- meshoptimizer можно использовать бесплатно? Какая у него лицензия?
- meshoptimizer распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- meshoptimizer всё ещё поддерживается?
- Активно поддерживается. Последний коммит в meshoptimizer — 14 окт. 2026 г..
- Для чего можно использовать meshoptimizer?
- Предварительная обработка ресурсов для игр и рендереров реального времени, чтобы снизить число промахов кэша вершин и overdraw. Создание цепочек LOD с помощью упрощения сеток для удалённых объектов. Уменьшение размера моделей glTF для доставки в веб- и мобильных приложениях с помощью gltfpack. Подготовка meshlet’ов для GPU с поддержкой mesh shader’ов или кластерной трассировки лучей.
- Как установить meshoptimizer?
- Клонируйте репозиторий версии v1.3: git clone -b v1.3 https://github.com/zeux/meshoptimizer.git Соберите библиотеку с помощью CMake или добавьте необходимые исходные файлы в систему сборки вашего проекта
- Где скачать meshoptimizer?
- Исходный код и инструкции по установке — на GitHub: https://github.com/zeux/meshoptimizer
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Движок физически корректного рендеринга в реальном времени для Android, iOS, Linux, macOS, Windows и WebGL2, рассчитанный на компактность и эффективность на Android.
Воссоздаёт объект по одному изображению в виде процедурного TypeScript-кода для Three.js, готового к анимации, а не файла с мешем.
Унифицированная модель преобразования текста в движение, которая создаёт анимацию для произвольных скелетов с ригом — от гуманоидов до четвероногих, птиц, рыб и насекомых.
Навык для AI-агентов, который помогает создавать креативные 3D-визуализации: превращать идею в сцену Three.js или Blender с помощью рецептов, наборов и захвата кадров.
Консольный CLI для сжатия, распаковки и просмотра архивов множества форматов с определением формата по расширению файла.