Repolode
zeux

zeux/meshoptimizer

GPUでの描画を高速化し、メッシュの保存容量と転送サイズを削減するC/C++ライブラリ。

スター
8,606
フォーク
730
未解決の Issue
7
最終コミット
8 日前

これは何?

meshoptimizerは、三角形メッシュを処理するためのアルゴリズムを集めたC/C++ライブラリです。頂点バッファとインデックスバッファの順序を並べ替えて、GPUの頂点キャッシュとメモリフェッチの効率を高め、オーバードローを削減し、頂点属性をより小さな形式に量子化します。

このライブラリは、メッシュの低ディテール版を生成するメッシュ簡略化機能に加え、メッシュシェーダー、クラスターレイトレーシング、クラスターカリング向けのメッシュレットとクラスターの生成機能も備えています。頂点およびインデックスのコーデックは、デコードを高速に保ちながらメッシュデータを可逆圧縮でき、zstdやLZ4などの汎用圧縮ツールでもさらに圧縮できます。

コア部分はヘッダーファイルとC++ソースファイルとして配布されており、CMakeでビルドするか、プロジェクトのビルドに直接追加できます。また、glTFファイルを最適化するコマンドラインツールのgltfpackとして利用できるほか、RustおよびJavaScript向けのバインディングも提供されています。

主な機能

  • 01GPUの頂点キャッシュとフェッチの局所性を高めるよう、インデックスと頂点の順序を並べ替えます。
  • 02低ディテールのメッシュを生成するメッシュ簡略化機能を提供します。
  • 03メッシュシェーディングやクラスタ―カリング向けに、メッシュレットとクラスターの境界を生成します。
  • 04保存容量と転送サイズを削減できる、頂点およびインデックスの可逆エンコード機能を提供します。
  • 05法線、位置、テクスチャ座標の量子化用ヘルパーを備えています。
  • 06CとC++のインターフェースを提供し、FFIを通じて他の言語からも利用できます。

ユースケース

  • ゲームやリアルタイムレンダラーのアセットを事前処理して、頂点キャッシュミスとオーバードローを削減する。
  • メッシュ簡略化を使って、遠景オブジェクト向けのLODチェーンを構築する。
  • gltfpackを使ってglTFモデルを圧縮し、Webやモバイル向けに配信する。
  • メッシュシェーダーまたはクラスターレイトレーシングに対応したGPU向けに、メッシュレットを準備する。

クイックスタート

  1. 1

    v1.3リリースのリポジトリをクローンします

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

    CMakeでライブラリをビルドするか、必要なソースファイルをプロジェクトのビルドシステムに追加します

収録されている特集

トピック

よくある質問

meshoptimizer とは?
GPUでの描画を高速化し、メッシュの保存容量と転送サイズを削減するC/C++ライブラリ。 meshoptimizerは、三角形メッシュを処理するためのアルゴリズムを集めたC/C++ライブラリです。頂点バッファとインデックスバッファの順序を並べ替えて、GPUの頂点キャッシュとメモリフェッチの効率を高め、オーバードローを削減し、頂点属性をより小さな形式に量子化します。
meshoptimizer は無料で使えますか?ライセンスは?
meshoptimizer は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
meshoptimizer は今もメンテナンスされていますか?
活発にメンテナンス中。meshoptimizer の最終コミットは 2026年10月14日 です。
meshoptimizer は何に使えますか?
ゲームやリアルタイムレンダラーのアセットを事前処理して、頂点キャッシュミスとオーバードローを削減する。 メッシュ簡略化を使って、遠景オブジェクト向けのLODチェーンを構築する。 gltfpackを使ってglTFモデルを圧縮し、Webやモバイル向けに配信する。 メッシュシェーダーまたはクラスターレイトレーシングに対応したGPU向けに、メッシュレットを準備する。
meshoptimizer のインストール方法は?
v1.3リリースのリポジトリをクローンします: git clone -b v1.3 https://github.com/zeux/meshoptimizer.git CMakeでライブラリをビルドするか、必要なソースファイルをプロジェクトのビルドシステムに追加します
meshoptimizer はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/zeux/meshoptimizer

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト