Really Slick Screensavers
URL: http://www.reallyslick.com/screensavers/
ライセンス: GPL
概要
このソフトウェアは OpenGL で描画する Windows 用スクリーンセーバプログラムである。スクリーンセーバは Demo 同様、美的・数学的センスやプログラミング能力を誇示し競い合って作られるため、面白いものが沢山見られるが、RSS はその中でも一際美しく、また動きもいい。 OpenGL を使ったアニメーション表現の参考になる。ソースコードはSourceForge のプロジェクトページ からダウンロードできる。 Linux などで動かすには、GLX ベースに移植された rss-glx が利用できる。
ちょっとした改造を施すと印象のガラリと変わったものが作れるので、色々と試すと面白いだろう。これを書いている筆者もテクスチャを差し替えてライブの背景映像に使ったりしている。キー入力に反応して動くようにしてやれば、演奏にシンクロさせることもできる。
ソースコードについて
ソースコード自体は程々に構造化されていてそれ程読み難いということはないのだが、いずれも複雑な数学の計算が核にあり、それをソースを頼りに解読することになるので、理解するのは難しい。また、テクスチャの格納の仕方が独特で、コンパイル時にまずテクスチャとして使うビットマップ画像を内部形式に変換し、それをさらに C コードに変換した後にコンパイルし、生成されたオブジェクトを本体にリンクしている。これは実行時にテクスチャ画像をファイルから読み込まずに済むよう設計されているのだが、テクスチャを色々差し替えて遊んでみたい、という目的には不向きだ。そのうえ元となるビットマップ画像も生の RGB データを並べただけのものだったりするので、そこらのグラフィックスエディタでは扱えないのだ。ImageMagick を使えば普通の画像フォーマットから生 RGB へ変換することができるので、試してみてほしい。
改造例
左は “Colorfire”
を改造して作ったもの。テクスチャをあるバンドのロゴに使われている模様に差し替え、さらに各フレーム毎に、直前のフレームをアルファブレンドして重ねることでモーションブラー効果を加えている。
これは “Lattice”
を改造したもので、表示するオブジェクトをトーラスから正方形に変更し、さらにテクスチャにビデオ入力からの画像を貼り込むようにしている。写真ではビデオ入力として、EffecTV
のから映像を vloopback を経由して利用している。
関連
- rss-glx - RSS を GLX ベースに書き直したもの。