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



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

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

libigl python bindings

関連記事

ブログのデザイン変えました

bpy-renderer:レンダリング用Pythonパッケー...

Maya API Reference

物理ベースレンダリングのためのマテリアル設定チートシート

Mean Stack開発の最初の一歩

MFnMeshクラスのsplit関数

Mixamo:人型3Dキャラクターアニメーション制作サービス

『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン ...

Unityで強化学習できる『Unity ML-Agents』

映画『シン・ウルトラマン』 メイキング記事まとめ

Blendify:コンピュータービジョン向けBlenderラ...

ROMOハッカソンに行ってきた

ZBrushの作業環境を見直す

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハ...

ハリウッド版「GAIKING」パイロット映像

書籍『仕事ではじめる機械学習』を読みました

Iridescence:プロトタイピング向け軽量3D可視化ラ...

オープンソースのプリント基板設計ツール『KiCad』

Siggraph Asia 2009 カンファレンスの詳細

UnityでPoint Cloudを表示する方法

オーバーロードとオーバーライド

映画『ジュラシック・ワールド/炎の王国』のVFXブレイクダウ...

この本読むよ

Unityの各コンポーネント間でのやり取り

ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を...

Faster R-CNN:ディープラーニングによる一般物体検...

Regard3D:オープンソースのStructure fro...

書籍『ROSプログラミング』

Unity ARKitプラグインサンプルのドキュメントを読む

OpenCV

LuxCoreRender:オープンソースの物理ベースレンダ...

Webスクレイピングの勉強会に行ってきた

OANDAのfxTrade API

Photo Bash:複数の写真を組み合わせて1枚のイラスト...

GeoGebra:無料で使える数学アプリ

書籍『The Art of Mystical Beasts』...

イタリアの自動車ブランドFiatとゴジラがコラボしたCMのメ...

ZScript

トランスフォーマーロストエイジのメイキング

Shader.jp:リアルタイム3DCG技術をあつかうサイト

cvui:OpenCVのための軽量GUIライブラリ

Oculus Goを購入!

コメント