libigl:軽量なジオメトリ処理ライブラリ

このlibiglは、ヘッダーファイルだけで構成された軽量なジオメトリ処理系のライブラリだそうです。ライセンスはMozilla Public License(MPL)で、特許を含まないコードなら改変、再頒布OK。

libigl



libiglは、シンプルなC++ジオメトリ処理ライブラリです。libiglには、離散化された微分幾何学計算、余接ラプラシアンや対角化質量行列などの有限要素行列、シンプルなファセット面とエッジベースのトポロジデータ構造、OpenGLやGLSLのためのMesh表示ユーティリティ幅広い機能が備わっています。また、行列操作のための豊富なコア機能により、Eigenライブラリの機能をMatLabのように扱うことができます。

これは、ヘッダーのみのライブラリです。使用前にライブラリをビルドする必要はありません。iglヘッダー(例:#include )をインクルードするだけでそのまま利用できます。各ヘッダーファイルには関数が1つずつ入っています。(例:igl/cotmatrix.hにはigl::cotmatrix()関数が入っている)。ほとんどがn行3列の頂点位置座標行列V、m行3列の三角形インデックス行列Fに格納された一般的な三角形Mesh上で動作するよう調整されています。

また、必要に応じてライブラリをStatic Libraryにプリコンパイルしておけば、あなたのプロジェクトの全体のコンパイル時間を短縮することもできます。これはあくまでコンパイル時間の短縮のみです。(実行時の動作・パフォーマンスは変わりません。)ハッキリしない場合、ヘッダーのみのデフォルトモードを使用してください。(つまり、使いたいヘッダーファイルのみをインクルードしてください)

libiglは、Eigenライブラリに大きく依存しています。我々はMATLABで多くのプロトタイピングを行っており、便利なMATLABからlibigl+Eigenへの変換テーブルを用意しています。

我々は定期的にMac OS X環境のclang、Linux環境のgcc、Windows環境のVisual Studio 2015 Community Editionでコンパイルテストを実施しています。


スポンサーリンク

libiglを利用しているプロジェクト一覧を見ると、Adobe ResearchとかPixar Researchがいたりして、業界のデファクトスタンダード感がありますね。(オイラは全然知らなかった。。。)


スポンサーリンク


中にcopyleftっていうサブディレクトリがあるけど、逆に言うと、このサブディレクトリ以外は改変・配布しちゃまずいってことなのかな?

チュートリアルが充実しているようなので、ちょこちょこと遊んでみるかな。

Tutorial

libigl tutorial



libiglのリポジトリの成長をGourceで可視化した動画見つけた。2011年から始まったってことで良いのかな。



http://www.gradientspace.com/tutorials/2020/1/2/libigl-in-unreal-engine

最近はPythonバインディングも用意されています↓

libigl python bindings


スポンサーリンク

関連記事

Python2とPython3
Manim:Pythonで使える数学アニメーションライブラリ
人間の顔をそっくりそのままCGで復元する『Digital Emily Project』
ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエットをリファレンスに合わせる
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
ZBrush キャラクター&クリーチャー
トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ
OpenFace:Deep Neural Networkによる顔の個人識別フレームワーク
ハリウッド版「GAIKING」パイロット映像
インタラクティブにComputer Visionコーディングができるツール『Live CV』
映画『ミュータント・タートルズ』を観てきた
この連休でZBrushの スキルアップを…
ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ分割
Zbrushでメカ物を作るチュートリアル動画
Mitsuba 2:オープンソースの物理ベースレンダラ
Python拡張モジュールのWindows用インストーラー配布サイト
書籍『メイキング・オブ・ピクサー 創造力をつくった人々』を読んだ
Raspberry Pi 2のGPIOピン配置
openMVGをWindows10 Visual Studio 2015環境でビルドする
CycleGAN:ドメイン関係を学習した画像変換
UnityのGameObjectの向きをScriptで制御する
OpenCV 3.1のsfmモジュールを試す
Google Chromecast
Raytracing Wiki
『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン まとめ
Structure from Motion (多視点画像からの3次元形状復元)
Subsurface scatteringの動画
Math.NET Numerics:Unityで使える数値計算ライブラリ
Unityで360度ステレオVR動画を作る
Maya LTでFBIK(Full Body IK)
Unity Scriptコーディング→Unreal Engine Scriptコーディング
iPhoneアプリ開発 Xcode 5のお作法
Open Shading Language (OSL)
openMVG:複数視点画像から3次元形状を復元するライブラリ
Pythonのソースコードに特化した検索エンジン『Nullege』
OANDAのfxTrade API
UnityでTweenアニメーションを実装できる3種類の無料Asset
この本読むよ
ZBrushで仮面ライダー3号を造る 仮面編 Clay Polish
OpenMayaRender
Managing Software Requirements: A Unified Approach

コメント