タグ

boostとconstexprに関するgim_kondoのブックマーク (1)

  • constexpr レイトレーシング - ボレロ村上 - ENiyGmaA Code

    これは、Sprout.Darkroom ライブラリの constexpr レイトレーサーでレンダリングした画像です。 画像サイズは 512×512 pixel。 もちろん画素データはすべてコンパイル時に生成され、ファイル出力のみが実行時に行なわれています。 光源は手前右側にあり、手前の青色がかった球から奥の赤色がかった球へ落ちる影や、 反射による球形の映り込みも確認できると思います。 レイトレーシングの基的なアルゴリズムはとてもシンプルです。 視点から各ピクセルを通る光線を飛ばして、ベクトルが オブジェクトと交差する部分の拡散光と反射光の成分を得るだけです。 さて、ではこの Sprout.Darkroom が constexpr でどう実装されているか見てゆくことにしましょう。 とても明快で解りやすい実装です。 なお Sprout.Darkroom は未だ開発途上のライブラリであり、扱え

    constexpr レイトレーシング - ボレロ村上 - ENiyGmaA Code
  • 1