2008/11/13

Hello Renderer

Photorealistic 指向なレンダラを書いています。



HISTORY

まずは球。シェーダは法線を RGB にするもの。
しばらくは球プリミティブだけで行きます。
画像出力は、float RGBA をバイナリで書き出して、Imagemagick で png などに変換します。

convert -depth 32 -define quantum:format=floating-point -size ${W}x${H} -define quantum:scale=65536.0 -endian lsb RGBA:fb out.png


20080909

シーンファイルを JSON にして雪だるま的な物体にしてみる。
JSON ライブラリは YAJL を使用。
交差判定のアクセラレータはなし。総当たり。
20080918

phong shader 的なもの。点光源。局所照明。
20081006_0

光源を4つにしてみる。
20081006_1

影光線を追加。
20081007

反射を追加。左のでかい球が鏡面反射。
20081015

エリアライトを追加。ちょっとそれっぽくなった。
Light->Eye (LE) をどう描画すればいいか、よくわからん。
20081111



TODO

あとはこの辺りを実装して、何か動画でも作れたらおもしろいかなと。


  • Texture
  • Bump mapping
  • Image based lighting
  • Motion blur
  • Depth of field
  • Local coordinate system
  • Blinn shading
  • Path tracing
  • Triangle intersection
  • 別途 scene generator ... blender のプラグイン


blender ってオブジェクト同士の積、差を計算できたりするんでしょうか。