OpenMesh:オープンソースの3Dメッシュデータライブラリ

学生の頃は、CG系のプログラミングと言えば全て自前実装するものだと思っていた。
ライブラリなんて何にも知らず、レンダラを作るためにMeshデータの構造から全部(Javaで)自前実装してました。画像ファイルの読み込み機能すら自作しちゃってた。良い勉強になったけどね。
当時は「世界トップレベルのCG研究者達は全部自前でプログラム書いてるんだスゲー」なんて思ってました。

会社に入って仕事で画像処理を扱うようになり、OpenCVを触るようになってから、「当たり前の機能」は自前実装する必要が無いことを知った。

ちょっと前置きが長くなったけど、CG系でも同じように、当たり前の機能・構造はライブラリがあるんだろうなぁ、と思って調べたらこれを見つけた↓

OpenMesh



OpenMeshは、ポリゴンメッシュを表現、操作するための汎用的で効率的なデータ構造を備えています。OpenMeshはアーヘン工科大学のコンピュータグラフィックスグループが開発したものです。このプロジェクトはドイツ連邦教育・研究省(BMBF)の出資を受けています。

このライブラリは、以下の理念に基づいて設計されています:

  1. 柔軟性:改造しなくても多くの異なるアルゴリズムの原理が利用できる。
  2. 効率性:メモリの使用を極力抑え、高速処理を実現する。
  3. 使いやすさ:複雑な内部構造を使いやすいインターフェイスで隠蔽する。

最新版は三条項BSDライセンス(修正BSDライセンス)。つまり、「無保証」であることの明記と、再頒布の際に著作権およびライセンス条文を表示が必要。


OpenMeshの各コンポーネント間の相互関係を示した図↓



このライブラリ、流行っているかどうかは良くわからないです。日本語で記事書いているのはこちらの方のブログぐらい↓
http://www.cloud.teu.ac.jp/public/MDF/toudouhk/blog/2015/04/10/OpenMesh/

追記:Qiitaに記事がアップされた↓
https://qiita.com/shohirose/items/d92447fcc07a623ebf24

CG系の人は普段何を使ってるんでしょうね。CGALとか?

会社員になってからというもの、何かプログラムを書くにしても既存のライブラリありきで実装プランを考えることが多くなった。

関連記事

OpenCVのバージョン3が正式リリースされたぞ

『さらば あぶない刑事』を観た

AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する

PythonのHTML・XMLパーサー『BeautifulSoup』

ZBrushでUndo Historyを動画に書き出す

オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...

組み込み向けのWindows OS 『Windows Embedded』

株式会社ヘキサドライブの研究室ページ

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

無能の作り方

MRenderUtil::raytrace

DensePose:画像中の人物表面のUV座標を推定する

ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加

手を動かしながら学ぶデータマイニング

Physics Forests:機械学習で流体シミュレーションを近似する

ZBrushでカスタムUIを設定する

Unityで360度ステレオVR動画を作る

Physically Based Rendering

Alice Vision:オープンソースのPhotogrammetryフレームワーク

ZBrushのお勉強

トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ

定数

「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか

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

まだ続くブログの不調

Autodesk CompositeとAutodesk MatchMoverが無料

Maya 2015から標準搭載されたMILA

企画とエンジニア 時間感覚の違い

第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』

映画『ジュラシック・ワールド』のVFXメイキング

『劇場版シティーハンター 〈新宿プライベート・アイズ〉』を観た

Mayaのプラグイン開発

3D Gaussian Splatting:リアルタイム描画できるRadiance Fields

布地のシワの法則性

機械学習のオープンソースソフトウェアフォーラム『mloss(machine learning ope...

この本読むよ

Python for Unity:UnityEditorでPythonを使えるパッケージ

SVM (Support Vector Machine)

ZBrushCoreのTransposeとGizmo 3D

参考書

Faceshiftで表情をキャプチャしてBlender上でMakeHumanのメッシュを動かすデモ

Unity Scriptコーディング→Unreal Engine Scriptコーディング

コメント