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.3.0 contribのsfmモジュールのサンプルを動かしてみる
IronPythonを使ってUnity上でPythonのコードを実行する
ZBrushと液晶ペンタブレットでドラゴンをモデリングするチュートリアル動画
『さらば あぶない刑事』を観た
調べものは得意なのかもしれない
MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
オープンソースの物理ベースGIレンダラ『appleseed』
adskShaderSDK
Structure from Motion (多視点画像からの3次元形状復元)
OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる
ZBrushでアヴァン・ガメラを作ってみる 頭頂部の作り込み・舌の追加
フルCGのウルトラマン!?
『THE仮面ライダー展』を見てきた
『ハン・ソロ/スター・ウォーズ・ストーリー』のVFXブレイクダウン まとめ
スターウォーズ エピソードVIIの予告編
トランスフォーマーロストエイジのメイキング
UnityプロジェクトをGitHubで管理する
ZBrushで仮面ライダー3号を造る 仮面編
布のモデリング
Shader.jp:リアルタイム3DCG技術をあつかうサイト
ZBrushでアヴァン・ガメラを作ってみる パーツ分割
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
書籍『メモの魔力』読了
3DCG Meetup #4に行ってきた
3Dモデルを立体視で確認できるVRアプリを作っている
Stanford Bunny
『メカニックデザイナー 大河原邦男展』に行ってきた
ブログが1日ダウンしてました
PythonでBlenderのAdd-on開発
グローバルイルミネーションに手を出す前に、やり残したことがあるんじゃない?
OpenFace:Deep Neural Networkによる顔の個人識別フレームワーク
サンプルコードにも間違いはある?
WordPressのサーバ引っ越し方法を考える
Mayaのプラグイン開発
WebGL開発に関する情報が充実してきている
ZBrushでゴジラ2001を作ってみる 身体のシルエット出し
MFnMeshクラスのsplit関数
UnityでARKit2.0
プログラミングスキルとは何か?
イタリアの自動車ブランドFiatとゴジラがコラボしたCMのメイキング
Web経由でRaspberry PiのGPIOを操作したい

コメント