← Researchに戻る

2024-09-18

リアルタイムジェネラティブアートの最前線

ジェネラティブアートGPUクリエイティブコーディング

はじめに

ジェネラティブアートは、アルゴリズムによって生成されるアート作品の総称である。近年、GPUの高性能化とWebGPUの登場により、ブラウザ上でもリアルタイムに複雑なビジュアル表現が可能になってきた。

本稿では、リアルタイムジェネラティブアートの技術動向を概観し、インスタレーションへの応用可能性を探る。

GPUシェーダーによる表現

フラグメントシェーダー

ピクセル単位で色を計算するフラグメントシェーダーは、ジェネラティブアートの基盤技術である。

  • ノイズ関数: Perlinノイズ、Simplexノイズを用いた有機的なパターン生成
  • SDF(符号付き距離関数): 数学的に定義された図形の組み合わせによる複雑な形状表現
  • レイマーチング: 3D空間のリアルタイムレンダリング手法

コンピュートシェーダー

パーティクルシミュレーションや物理演算をGPU上で並列処理することで、数百万個のパーティクルをリアルタイムに動かすことが可能になる。

WebGPU時代のブラウザ表現

WebGPUは、WebGLの後継として策定された新しいグラフィックスAPIである。

  • コンピュートシェーダーのサポート: WebGLでは不可能だったGPGPU処理がブラウザ上で実行可能に
  • より低レベルな制御: パイプラインの細かな制御により、最適化の余地が大幅に拡大
  • マルチスレッド対応: Web Workerとの連携による非同期処理

大規模インスタレーション向け分散レンダリング

複数台のPCで協調してレンダリングを行う分散レンダリングは、大型インスタレーションに不可欠な技術である。

Spoutによるテクスチャ共有

Windows環境では、Spoutプロトコルにより異なるアプリケーション間でGPUテクスチャを共有できる。TouchDesigner、openFrameworks、Unityなど異なるツール間の連携が容易になる。

NDIによるネットワーク映像伝送

NDI(Network Device Interface)を利用することで、ネットワーク経由で低遅延の映像伝送が可能。複数台のレンダリングPCの出力を統合して大画面に表示するシステムを構築できる。

おわりに

リアルタイムジェネラティブアートは、テクノロジーとアートの境界を曖昧にし続けている。遊宴技研では、これらの技術をインスタレーションや遊具に応用し、人々が直接触れて体験できるジェネラティブアートの可能性を追求していく。