Processing で学ぶレンダラ… の始めをちょっとだけ.

by syoyo

Proce55ing で学ぶレンダラプログラミング, 通称 GI 本ですが,
導入はこんな感じでやっていこうかなぁと思います.

初めての Processing

本書では、大域照明レンダラを書くためのプログラミング環境として Processing を利用します.
Processing は元々インタラクティブアートのために設計されたプログラミング環境ですが、
クロスプラットフォームのグラフィックスプログラミング環境として利用することもできます.

「GI レンダラを書くのに必要なものは何かッ!?」

… なんと、OpenGL とか DirectX とか SDL とかそんな 3D API やグラフィックス API はじつはまったく必要ありません.
ピクセル単位で色を設定する方法があれば何でもいいのです.
そして Proce55ing にはそのような機能が備わっており、しかもかんたんに利用できます.

Proce55ing を以下のサイトからまずは入手しましょう.

http://www.processing.org/

そして以下のプログラムをスケッチブック(って P5 では言うのかな?)に記述し、実行ボタンを押します.


  void setup() {
    size(256, 256);
  }

  void draw() {
    int x, y;

    loadPixels();

    for (y = 0; y < 256; y++) {
      for (x = 0; x < 256; x++) {
        pixels[y * 256 + x] = color(x, y, 255);
      }
    }

    updatePixels();
  }


以下のような鮮やかなグラデーションが表示されたら成功です.

p5intro_output.png

このプログラムは、ピクセル単位で色を設定しその画像を表示しています.
なんとレンダラを書くための準備はこれで完成です.
それでは早速、次章で実際にレンダラを書いていきましょう(つづく).

おまけ

せっかくつくった画像は、ファイルに保存しておきあとでじっくりと鑑賞できるようにしておきたいですよね.
以下のプログラムを追加すると、画面上でマウスをクリックするとそのときの画像が output.png ファイルに保存されるようになります.


  void mousePressed() {
    save("output.png");
  }

ファイルが保存されたかどうかは、 Proce55ing のメニューから Sketch -> Show Sketch Foder を選んで保存ディレクトリを表示して確認することができます.

これから

というわけで、GI 本の導入あたりはこんな感じにしようと思っています.
(グラデーション画像を表示しただけなので、GI レンダラではまだ全然ありませんが)
プログラミング言語がちょっとわかっているくらいのひとでも GI レンダラが書けるようになるのが本書の目標です.

… syoyo 先生のこれからにご期待ください.

Advertisements