Repolode
zeux

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. 1

    Клонируйте репозиторий версии v1.3

    git clone -b v1.3 https://github.com/zeux/meshoptimizer.git
  2. 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.

20,6 тыс.2,3 тыс.C++Apache-2.0Обновлён 22 минуты назад

Унифицированная модель преобразования текста в движение, которая создаёт анимацию для произвольных скелетов с ригом — от гуманоидов до четвероногих, птиц, рыб и насекомых.

2,1 тыс.232PythonMITОбновлён 15 дней назад