Upload
sdsgisd
View
653
Download
7
Embed Size (px)
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)メールアドレス :[email protected]
おわり