Skip to content
nushio3 edited this page Jun 15, 2011 · 8 revisions

http://www.openframeworks.cc/ を使ったやっつけビジュアライザ。 コンテストを戦うための最小限の機能は備える方針で設計している。 必要に応じて拡張していきたい。 Openframeworksは非常に簡潔に書けてよい。

ビルド

レポジトリにはopenframeworksアプリとしてのソースファイルしか含まれていない。 openframeworksをインストールした後、サンプル(apps/examples/emptyExample)を適当な名前で同じ階層にコピーした上で、 src/以下にある3つのファイルをレポジトリのものとすげ替える(シンボリックリンクおすすめ)とビルドできるだろう。 Macではそれで動いた。

仕様

標準入力からコマンドを受け付ける。クライアントは標準出力に一行に1つづつ、コマンドを出力すればよい。 標準入力を受信する部分と描画する部分は別スレッドになっているので、クライアントは自分のペースで書き込んでもらってもブロックしたりしない。 ダブルバッファになっており、flushコマンドを実行した時点で初めて、描画コマンドが画面に反映される。 描画コマンドはいずれも一回限り有効で、flushを実行するたびに1から描き直す必要がある。

座標系は画面左上が(0,0)で、画面の高さが1となるようなものである。画像はbin/data以下に置くべし。色んなフォーマットに対応してるはず。透過pngなら透過する。

  • stamp x y zoom filename.png  (x,y)の位置に画像を読み込んで表示する。座標は画像の中心を表す。zoomは拡大率。filename.pngに空白を含んではいけない。
  • label x y fontsize text  (x,y)の位置に文字列textを表示する。textは行末まで読み込まれる(空白を含んでも良い)。
  • draw x y zoom filename.png fontsize text  (x,y)の位置に画像を読み込んで表示した上でその上部に文字列を表示する。
  • flush  一回分の描画を終える。このあとクライアント自身の標準出力をフラッシュするのを忘れないこと。

Screenshot

Clone this wiki locally