軽量なジオメトリ処理ライブラリ『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

Hands-on LibiGL Tutorial

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

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

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


スポンサーリンク

関連記事

ブログのデザイン変えました
3DCGのモデルを立体化するサービス
Houdiniのライセンスの種類
CNN Explainer:畳み込みニューラルネットワーク可視化ツール
WordPress on Windows Azure
『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラクター"のメイキング
OpenCV3.3.0でsfmモジュールのビルドに成功!
OpenCV 3.3.0-RCでsfmモジュールをビルド
Unityをレンダラとして活用する
Webスクレイピングの勉強会に行ってきた
ヘッドマウントディスプレイとビジュアリゼーションの未来
第1回 3D勉強会@関東『SLAMチュートリアル大会』
Python拡張モジュールのWindows用インストーラー配布サイト
Mayaのポリゴン分割ツールの進化
ZBrushでアヴァン・ガメラを作ってみる 頬の突起を作り始める
頭蓋骨からの顔復元と進化過程の可視化
映画から想像するVR・AR時代のGUIデザイン
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
ラクガキの立体化
ZBrushでUndo Historyを動画に書き出す
OpenCVベースのマーカーARライブラリ『OpenAR』
3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』
機械学習手法『Random Forest』
MFnMeshクラスのsplit関数
書籍『The Art of Mystical Beasts』を購入
ゴジラの造形
MRenderUtil::raytrace
ZBrush 4R7
Quartus II
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
Phongの表現力パネェ 材質別のPhong Shader用パラメータ一覧
Pythonのベイズ統計ライブラリ『PyMC』
ファンの力
ラクガキの立体化 目標設定
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
Raspberry Pi 2を買いました
ジュラシック・パークの続編『ジュラシック・ワールド』
Mitsuba 2:オープンソースの物理ベースレンダラ
SculptrisとBlenderで作ったGodzilla 2014 (Fan Made)
OpenMVSのサンプルを動かしてみる
ZBrushで手首のモデリングをリファイン

コメント