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


スポンサーリンク

関連記事

今年もSSII
Windows Server 2008にAutodesk Maya 2009をインストール
TeleSculptor:空撮動画からPhotogrammetryするツール
中学3年生が制作した短編映像作品『2045』
ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
ファンの力
ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加
ZBrushで仮面ライダー3号を造る 仮面編 DynaMesh
Rerun:マルチモーダルデータの可視化アプリとSDK
Raspberry Pi 2のGPIOピン配置
AfterEffectsプラグイン開発
iOSで使えるJetpac社の物体認識SDK『DeepBelief』
Mayaのレンダリング アトリビュート
Ambient Occlusionを解析的に求める
Unityの薄い本
Unityをレンダラとして活用する
TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク
GoB:ZBrushとBlenderを連携させるアドオン
Windows10でPyTorchをインストールしてVSCodeで使う
Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番
MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェア
OpenMesh:オープンソースの3Dメッシュデータライブラリ
ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調整
SIGGRAPH 2020はオンライン開催
Mayaのポリゴン分割ツールの進化
PyMC:Pythonのベイズ統計ライブラリ
実写と実写の合成時の色の馴染ませテクニック
SIGGRAPH論文へのリンクサイト
OpenSfM:PythonのStructure from Motionライブラリ
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
iPhone・iPod touchで動作する知育ロボット『ROMO』
cvui:OpenCVのための軽量GUIライブラリ
ゴジラ(2014)のディティール制作の舞台裏
Gource:バージョン管理の履歴を可視化するツール
GAN (Generative Adversarial Networks):敵対的生成ネットワーク
ZBrushトレーニング
CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!
KelpNet:C#で使える可読性重視のディープラーニングライブラリ
Model View Controller
ZBrushでアヴァン・ガメラを作ってみる
Zibra Liquids:Unity向け流体シミュレーションプラグイン
UnrealCV:コンピュータビジョン研究のためのUnreal Engineプラグイン

コメント