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

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

libigl – A simple C++ geometry processing library

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

Hands-on LibiGL Tutorial

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

https://www.youtube.com/watch?v=rkKGel1AXtc


スポンサーリンク

関連記事

ゴジラ(2014)のディティール制作の舞台裏
C++の機械学習ライブラリ『Dlib』
pythonの機械学習ライブラリ『scikit-learn』
OpenGVのライブラリ構成
2012 昨日のクローズアップ現代を見た
スターウォーズ エピソードVIIの予告編
UnityのTransformクラスについて調べてみた
株式会社ヘキサドライブの研究室ページ
Web経由でRaspberry PiのGPIOを操作したい
自前Shaderの件 解決しました
機械学習のオープンソースソフトウェアフォーラム『mloss(machine learning ope...
Siggraph Asia 2009 カンファレンスの詳細
Linuxでテレビの視聴・録画ができるオープンソースプロジェクト『Myth TV』
3Dグラフィックスの入門書
OANDAのfxTrade API
オープンソースのStructure from Motionライブラリ『Theia』
映画から想像するVR・AR時代のGUIデザイン
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
OpenCV 3.1のsfmモジュールのビルド再び
フォトンの放射から格納までを可視化した動画
映画『ジュラシック・ワールド』のVFXメイキング
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
ガメラ生誕50周年
IronPythonを使ってUnity上でPythonのコードを実行する
ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
WordPressのサーバ引っ越し方法を考える
ZBrushの練習 手のモデリング
OpenCVベースの背景差分ライブラリ『BGSLibrary』
UnityのMonoBehaviourクラスをシングルトン化する
Russian3DScannerのトポロジー転送ツール『WrapX』
人体モデリングできるBlenderアドオン『ManuelBastioniLAB』
Unityからkonashiをコントロールする
WordPress on Google App Engineを1週間運用してみて
Raytracing Wiki
白組による『シン・ゴジラ』CGメイキング映像が公開された!
Mean Stack開発の最初の一歩
ZBrush 4R8 リリース!
.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...
画像中の人物表面のUV座標を推定する『DensePose』
ROMOハッカソンに行ってきた
顔のモデリング
WebGL開発に関する情報が充実してきている

コメント