学生の頃は、CG系のプログラミングと言えば全て自前実装するものだと思っていた。
ライブラリなんて何にも知らず、レンダラを作るためにMeshデータの構造から全部(Javaで)自前実装してました。画像ファイルの読み込み機能すら自作しちゃってた。良い勉強になったけどね。
当時は「世界トップレベルのCG研究者達は全部自前でプログラム書いてるんだスゲー」なんて思ってました。
会社に入って仕事で画像処理を扱うようになり、OpenCVを触るようになってから、「当たり前の機能」は自前実装する必要が無いことを知った。
ちょっと前置きが長くなったけど、CG系でも同じように、当たり前の機能・構造はライブラリがあるんだろうなぁ、と思って調べたらこれを見つけた↓
OpenMesh
OpenMeshは、ポリゴンメッシュを表現、操作するための汎用的で効率的なデータ構造を備えています。OpenMeshはアーヘン工科大学のコンピュータグラフィックスグループが開発したものです。このプロジェクトはドイツ連邦教育・研究省(BMBF)の出資を受けています。
このライブラリは、以下の理念に基づいて設計されています:
- 柔軟性:改造しなくても多くの異なるアルゴリズムの原理が利用できる。
- 効率性:メモリの使用を極力抑え、高速処理を実現する。
- 使いやすさ:複雑な内部構造を使いやすいインターフェイスで隠蔽する。
最新版は三条項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とか?
会社員になってからというもの、何かプログラムを書くにしても既存のライブラリありきで実装プランを考えることが多くなった。
関連記事
天体写真の3D動画
Amazonオリジナルドラマ『誰かが、見ている』を観た
Javaで作られたオープンソースの3DCGレンダラ『Sunf...
ZBrushトレーニング
写真に3Dオブジェクトを違和感無く合成する『3DPhotoM...
Windows Server 2008にAutodesk M...
Deep Fluids:流体シミュレーションをディープラーニ...
仮面ライダー4号の最終話を観た
Adobe Photoshop CS5の新機能
フルCGのウルトラマン!?
C++始めようと思うんだ
OpenCVで顔のランドマークを検出する『Facemark ...
オープンソースのプリント基板設計ツール『KiCad』
情報の編集
書籍『ROSプログラミング』
NeuralNetwork.NET:.NETで使えるTens...
ディープラーニング
Maya 2015から標準搭載されたMILA
WinSCP
clearcoat Shader
映画『ミュータント・タートルズ』を観てきた
OpenAR:OpenCVベースのマーカーARライブラリ
Twitter APIのPythonラッパー『python-...
Unityの各コンポーネント間でのやり取り
ブログをwpXレンタルサーバーからwpX Speedへ移行
布地のシワの法則性
CLO:服飾デザインツール
ZBrushでアヴァン・ガメラを作ってみる 下半身のバランス...
iPhone x ロボットハッカソン~RomoのiPhone...
2015年10月21日
adskShaderSDK
3D復元技術の情報リンク集
ZBrushでアヴァン・ガメラを作ってみる 壊れたデータの救...
Unity ARKitプラグインサンプルのチュートリアルを読...
2D→3D復元技術で使われる用語まとめ
Python.NET:Pythonと.NETを連携させるパッ...
ZBrush4新機能ハイライト 3DCG CAMP 2010
『電光超人グリッドマン』のBlu-ray BOXが12月20...
Ambient Occlusionを解析的に求める
Manim:Pythonで使える数学アニメーションライブラリ
CGレンダラ研究開発のためのフレームワーク『Lightmet...
ZBrushでアヴァン・ガメラを作ってみる 頬の突起を作り始...


コメント