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

関連記事

ZBrushでアヴァン・ガメラを作ってみる 頬の突起を作り始...

ZBrushでゴジラ2001を作ってみる 身体のシルエット出...

MythTV:Linuxでテレビの視聴・録画ができるオープン...

PureRef:リファレンス画像専用ビューア

画像生成AI Stable Diffusionで遊ぶ

Russian3DScannerのトポロジー転送ツール『Wr...

テスト

ZBrushのZmodelerとDynamic Subdiv...

ZBrushでゴジラ2001を作ってみる 側頭部のボリューム...

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...

Deep Fluids:流体シミュレーションをディープラーニ...

Gource:バージョン管理の履歴を可視化するツール

Alice Vision:オープンソースのPhotogram...

Webサイトのワイヤーフレームが作成できるオンラインツール

PyDataTokyo主催のDeep Learning勉強会

映画『ブレードランナー 2049』のVFX

clearcoat Shader

WinSCP

顔追跡による擬似3D表示『Dynamic Perspecti...

CGWORLD CHANNEL 第21回ニコ生配信は『シン・...

Web経由でRaspberry PiのGPIOを操作したい

日立のフルパララックス立体ディスプレイ

OpenGVの用語

AndroidもopenGLも初心者さ (でもJavaは知っ...

Maya LTのQuick Rigを試す

WordPressのサーバ引っ越し方法を考える

Kubric:機械学習用アノテーション付き動画生成パイプライ...

色んな三面図があるサイト

『スター・ウォーズ/スカイウォーカーの夜明け』のVFXブレイ...

ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを...

HTML5・WebGLベースのグラフィックスエンジン『Goo...

ヘッドマウントディスプレイとビジュアリゼーションの未来

Konashiを買った

OpenCVでカメラ画像から自己位置認識 (Visual O...

python-twitterで自分のお気に入りを取得する

ZBrushでリメッシュとディティールの転送

CNN Explainer:畳み込みニューラルネットワーク可...

PyTorch3D:3Dコンピュータービジョンライブラリ

Raspberry Piでセンサーの常時稼働を検討する

レンダラ制作はOpenGL とか DirectX を使わなく...

3D映画のポストプロダクション 2D-3D変換

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

コメント