ubuntu8.04でopenframeworksを使おう

描画プログラムを書くときは,深く考えずに簡単に書けるproce55ingを選択する方が多いかと思われます.最近盛り上がっていますので情報も多いですしね.ただ,ちょっと古い計算機ですと速度が出なくてイラっとくる場合もあります.そこで,速度が出しやすいc++ライブラリのopenframeworksを使ってみましょう!
まずは,本体をDLしてきましょう.ここです.必要ないかもしれませんがaddonが含まれているfatバージョンが良いと思います.現時点で0.06のプレプレリリースがフォーラムに上がっていますのでそっちもありです.linuxではIDEとしてcodeblocksを使います.もちろんMakeFileからビルドしても大丈夫らしいです.

インストール

hardyでは,codeblockのインストールが一手間です.まず以下2つのリポジトリを追加しましょう.

wget -q http://apt.wxwidgets.org/key.asc -O- | apt-key add -
wget -q http://lgp203.free.fr/public.key -O- | apt-key add -

で,必要なものは以下です.リポジトリ追加したので,aptで入れられます.ただ,libwxgtk2.8-devとかlibwxbase2.8-devがないとcodeblocks入れるときに怒られた気がしますので,これらを先に入れた方が良いかもしれません.
freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libpoco-dev libcodeblocks0 codeblocks libwxsmithlib0 codeblocks-contrib
codeblocksの環境が整ったら早速立ち上げてサンプル例をビルドといきたい所ですが,日本語環境だと恐らく大量のエラーが出ます.

../../../libs/fmodex/inc/fmod_errors.h|25|警告: deprecated conversion from string constant to ‘char*’|
../../../libs/fmodex/inc/fmod_errors.h|26|警告: deprecated conversion from string constant to ‘char*’|

とかですね.これらを潰すには,Settings > Environment variables > add に

Key:LC_ALL
Value:en_US.UTF-8

を入れてやります.これでエラーなくビルドが出来ると思います.あと,うちの環境ではビルド時にzlib1g-devが必要だと怒られました.

新規プロジェクト

codeblockを使ってofの新しいプロジェクトを作成するには,どうすれば良いのか?前まではemptyExampleをコピーして名前変えて・・・・・・,とか面倒だったのでスクリプトでも書こうかと思っていたところ,フォーラムにアップしてくれている方がいました.便利ですので,ありがたく使わさせていただきましょう.こちらにあります.使い方も書いてあります.ofEnvironment.py内にあるof_root=の行を自分の環境に変えてから使いましょう.ただし,プロジェクトにaddonを追加する際,各addonに付いているinstall.xmlをちょっと書き換えないとダメな場合もありますのでご注意を.

描画したものを動画にするには?

Linuxで直接動画にする方法としては3つあります.

  • フレーム毎に画像として書き出してやり,ffmpegで動画にする.
  • このトピックの例にあるようにFOBSを使って動画にする.(詳しくみていないのですが,何らかのエラーが出ました)
  • glcを使ってキャプチャする

どれでも良さそうですが,今後音を扱うことを考えてglc使いました.

動画

こんな感じです.

まとめ

Linuxでopenframeworksを使うのは0.06が正式に出るまでちょっと待った方が良いかもしれません.基本的なものはきちんと書けて動きます.ただ,ちょこちょこ面倒だったり,addonがうまく通らなかったりしました.ofxTuioはちょっとだけ書き換えたら通りましたが.