openFrameworksの紹介(非公式)

Preview:

Citation preview

openFrameworksの紹介 (15分 )

Sadashige Ishida

自己紹介名前:石田定繁 (Sadashige ISHIDA)興味:数学とくに幾何学、物理全般、 Computer

Graphics 、言語嗜好:楽しい、きれい、動く >>> 便利、高性能Computer Graphics の研究歴: 4 ヶ月今やっていること:力学アニメーションTwitter :やってません

目的初心者向けフレームワーク openFrameworks の紹介Computer Graphics の論文 / OpenGL を一緒に読んで一緒に実装してくれる仲間が欲しい!!

動機:アニメーションとか作りたい。キャラクターとか流体とかのアニメーション作りたい。それには描画 ( レンダリング ) が必要。

描画の苦しみOpenGL で描画できる。

描画の苦しみOpenGL で描画できる。 できる。

描画の苦しみOpenGL で描画できる。 できる。 視点変更の苦しみ…行列計算…うわああああ

描画の苦しみOpenGL で描画できる。 できる。 視点変更の苦しみ…行列計算…うわああああ … 解放されたい…

描画の苦しみOpenGL で描画できる。 できる。 視点変更の苦しみ…行列計算…うわああああ … 解放されたい… →openFrameworks

まずはビデオを見てもらいたいhttps://www.youtube.com/watch?v=6u6IDorMKAs

なんか色々できるらしい。

openFrameworks

openFrameworksの説明公式サイトの説明によれば

openFrameworks は、オープンソースな C++ のツールキットで、シンプルで直感的な環境を通して、クリエイテイブな活動を支援するようにデザインされています。 らしい。

openFrameworksのできること ( 公式 )グラフィクス: OpenGL, GLEW, GLUT,

libtess2, cairoオーディオの入出力と分析: rtAudio, PortAudio,

OpenAL, Kiss FFT または FMODフォント: FreeTypeイメージの読込と保存: FreeImage動画の再生と取込: Quicktime,GStreamer,

videoInput様々なユーティリティー: Pocoコンピュータビジョン: OpenCV3D モデルの読み込み: Assimp

openFrameworksの、発表者の使い方ポリゴンメッシュ (3 角形の集まり ) 変形の可視化。Position Based Dynamics( 力学アニメーション ) の実装。アニメーションに使う。

openFrameworksの特徴とにかく初心者向き! とにかく簡単。C++ で書く。Xcode とか VisualStudio にフレンドリー。OpenGL の知識ほぼ不要。

デモが動くまで 3 分くらい。自分のプロジェクトを作るまで 5 分くらい。すごく丁寧な Tutorial( 日本語版あり ) どおりにやればいい。

ダウンロードからなんか動くまで早い!openFrameworksの特徴

ofBoxExample のデモをコンパイル→実行してみよう。1. openFrameworks をダウンロードし、解凍する。URL: http://openframeworks.cc/download/

2. (Mac) openFrameworks のフォルダー /examples/3d/ofBoxExample/ofBoxExample.xcodeprojを Xcode で開く。(Windows) http://openframeworks.cc/setup/vs/を参照して下さい ( ごめん… ) 。3. Run とか Debug

openFrameworksのデモ

openFrameworksのよいこと( 主観 ) マウス操作で画面を回転したりズームイン / アウトできる。← OpenGL とかでこれを書くのは苦しみ。日本語の Tutorial がある。自分のプロジェクト作るのがすごく簡単!CMake とか Makefile とかいらない ^_^include とか link とかいらない ^_^全てを update() と draw() に書けば良いシンプルさ。メッシュを描画したり、音楽を鳴らしたり、アニメーションしたり、なんか色々できる。iPhone アプリ制作とか使えるらしい。

openFrameworksのよくないこと ( 主観 )一時停止を作るのがめんどくさかった…メッシュをいじる操作は別に用意する必要あり。

openFrameworksの使い方まず自分のプロジェクトを作る。ofApp.cpp ( と ofApp.h) をいじる。終わり。

openFrameworks の ofApp.hの中身最低限だとこうなる。class ofApp : public ofBaseApp{ public: void setup();// 最初に 1 回呼ばれる void update(); // 毎タイムステップごとに呼ばれる。 void draw(); // 毎タイムステップごとに update() の後に呼ばれる。 };

openFrameworksの流れofApp::setup()

ofApp::update()

ofApp::draw()

毎タイムステップごとに繰り返す。

openFrameworksでのマウス操作での視点の変え方最低限だとこうなる。class ofApp : public ofBaseApp{ public: void setup();// 最初に 1 回呼ばれる void update(); // 毎タイムステップごとに呼ばれる。 void draw(); // 毎タイムステップごとに update() の後に呼ばれる。 ofEasyCam cam; // カメラ ( 視点を操る何か ) };

openFrameworksでのマウス操作での視点の変え方最低限だとこうなる。void ofApp::draw(){

// カメラ ( 視点を操る何か ) 開始。 cam.begin(); // ここに何か描画のコードを書く。 // 例 . (x1,y1,z1) から (x2,y2,z2) に線を引く。 int x1=0, y1=0, z1=0, x2=1, y2=1, z2=1; ofLine(x1,y1,z1,x2,y2,z2) // 描画ここまで // カメラ終了。 cam.end(); }

これで左ドラッグ:回転マウスホイール、右ドラッグ:ズームイン /アウトホイールドラッグ:平行移動できる。タッチパッドも大体同じ。

openFrameworksのまとめ初心者に優しい。描画が簡単。全てが setup(),update(),draw() で済むシンプルさ。Example プログラムが充実。それを適当に改変すればそれっぽいものができる。使い方はいろいろ。

発表の目的openFrameworks の紹介Computer Graphics の論文 / OpenGL の本を一緒に読んで一緒に実装してくれる仲間が欲しい!!初心者にとって、論文の読解 + 実装→苦しみ式が追えない…何言ってるか分からない…クラス設計とかどうすればいいんだ…どんどんぐちゃぐちゃになっていく…コードリーディングも苦しみ…あれこれ悩んで出来る会を作れると嬉しい。会場にいるので話しかけて下さい。

名前 : 石田定繁 (Sadashige ISHIDA)メールアドレス :sdsgisd@gmail.com

おわり

Recommended