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年から始まったってことで良いのかな。

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

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

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

libigl python bindings


スポンサーリンク

関連記事

オープンソースのIT資産・ライセンス管理システム『Snipe-IT』
MB-Lab:Blenderの人体モデリングアドオン
Oculus Goを購入!
ZBrushでゴジラ2001を作ってみる 身体のシルエット出し
スクラッチで既存のキャラクターを立体化したい
Physically Based Rendering
Unityで学ぶC#
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
Autodesk Mementoでゴジラを3次元復元する
Open3D:3Dデータ処理ライブラリ
SONY製のニューラルネットワークライブラリ『NNabla』
pythonもかじってみようかと
ZBrushで仮面ライダー3号を造る 仮面編 リファレンス画像の表示
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
ラクガキの立体化 分割ラインの変更・バランス調整
OpenMVS:Multi-View Stereoによる3次元復元ライブラリ
ZBrush 2018での作業環境を整える
OpenCV 3.1から追加されたSfMモジュール
ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手権 (MITSUBISHI KAGAKU...
Mechanizeで要認証Webサイトをスクレイピング
AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する
この連休でZBrushの スキルアップを…
ZBrushで仮面ライダーBLACK SUNを作る 頭部~バストの概形
Maya LTのQuick Rigを試す
機械学習に役立つPythonライブラリ一覧
ZBrushでアヴァン・ガメラを作ってみる 口内の微調整・身体のライン修正
SIGGRAPH ASIAのマスコット
ZBrush 4R8 リリース!
アニゴジ関連情報
Mayaのプラグイン開発
ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を修正
OpenCV3.3.0でsfmモジュールのビルドに成功!
リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』
Mayaでリアルな布の質感を作るチュートリアル
『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン まとめ
オープンソースの顔の動作解析ツールキット『OpenFace』
Point Cloud Libraryに動画フォーマットが追加されるらしい
Mayaのポリゴン分割ツールの進化
UnityのAR FoundationでARKit 3
Blender 2.8がついに正式リリース!
Mitsuba 3:オープンソースの研究向けレンダラ
Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番

コメント