この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のリポジトリの成長をGourceで可視化した動画見つけた。2011年から始まったってことで良いのかな。
https://www.youtube.com/watch?v=rkKGel1AXtc
http://www.gradientspace.com/tutorials/2020/1/2/libigl-in-unreal-engine
最近はPythonバインディングも用意されています↓
libigl python bindings
関連記事
SIGGRAPH 2020はオンライン開催
TeleSculptor:空撮動画からPhotogramme...
mentalrayのSubsurface Scatterin...
Physics Forests:機械学習で流体シミュレーショ...
SONYの自律型エンタテインメントロボット『aibo』
ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作...
Polyscope:3Dデータ操作用GUIライブラリ
Subsurface scatteringの動画
『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイ...
Managing Software Requirements...
TensorFlowでCGを微分できる『TensorFlow...
C++の抽象クラス
Kaolin:3Dディープラーニング用のPyTorchライブ...
OpenCV 3.3.0-RCでsfmモジュールをビルド
ArUco:OpenCVベースのコンパクトなARライブラリ
ZBrush4新機能ハイライト 3DCG CAMP 2010
ファンの力
PyTorch3D:3Dコンピュータービジョンライブラリ
Unityで360度ステレオVR動画を作る
Caffe:読みやすくて高速なディープラーニングのフレームワ...
イタリアの自動車ブランドFiatとゴジラがコラボしたCMのメ...
Google App Engineのデプロイ失敗
サンプルコードにも間違いはある?
AfterEffectsプラグイン開発
自前のShaderがおかしい件
python-twitterで自分のお気に入りを取得する
Transformers ”Reference & Buli...
書籍『メイキング・オブ・ピクサー 創造力をつくった人々』を読...
シン・ゴジラのファンアート
IronPythonを使ってUnity上でPythonのコー...
トランスフォーマーロストエイジのメイキング
ZBrush 2018へのアップグレード
FreeMoCap Project:オープンソースのマーカー...
Runway ML:クリエイターのための機械学習ツール
OpenCV3.3.0でsfmモジュールのビルドに成功!
OpenCVで顔のモーフィングを実装する
トランスフォーマー :リベンジのメイキング (デジタルドメイ...
Python2とPython3
ZBrushで作った3Dモデルを立体視で確認できるVRアプリ...
物理ベースレンダリングのためのマテリアル設定チートシート
ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ...
PythonでMayaのShapeノードプラグインを作る




コメント