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とか?

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

関連記事

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

Manim:Pythonで使える数学アニメーションライブラリ

Caffe:読みやすくて高速なディープラーニングのフレームワーク

Quartus II

ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整

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

UnityのAR FoundationでARKit 3

UnityでShaderの入力パラメータとして行列を渡す

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

機械学習手法『Random Forest』

ZBrushでアヴァン・ガメラを作ってみる 口内の微調整・身体のライン修正

書籍『メイキング・オブ・ピクサー 創造力をつくった人々』を読んだ

ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ分割

フルCGのウルトラマン!?

網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した

BlenderのGeometry Nodeで遊ぶ

ポリ男をリファイン

Raspberry PiでIoTごっこ

顔モデリングのチュートリアル

サンダーバード ARE GO

1枚の画像からマテリアルを作成できる無料ツール『Materialize』

ヒーローに変身なりきりアーケードゲーム『ナレルンダー』

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

スクラッチで既存のキャラクターを立体化したい

Windows10でPyTorchをインストールしてVSCodeで使う

Kornia:微分可能なコンピュータービジョンライブラリ

あの頃で止まった時間

サンライズの勇者シリーズ30周年

iPhone・iPod touchで動作する知育ロボット『ROMO』

Unreal Engine 5の情報が公開された!

2021年4月 振り返り

OpenSfM:PythonのStructure from Motionライブラリ

そのアプローチは帰納的か演繹的か

OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる

3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』

ZBrushでゴジラ2001を作ってみる 頭の概形作り

映画『スター・ウォーズ/スカイウォーカーの夜明け』を観た (ネタバレ無し)

OpenCVで動画の手ぶれ補正

Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』

Mr.ビーン

TensorFlowでCGを微分できる『TensorFlow Graphics』

2023年の振り返り その2 仕事編

コメント