Sprout.Darkroom は、constexpr ベースのコンパイル時レイトレーシングライブラリです。 https://github.com/bolero-MURAKAMI/Sprout Sprout.Darkroom は、特定のインタフェースのクラスをテクスチャマップやスペキュラマップとして オブジェクトに設定する機能があります。 試しにチェック模様のテクスチャクラスを作ってみたので使ってみます。 out.png 床がチェック模様になっています。 模様の黒っぽい側には反射率も設定しているので、映り込みも表現されています。 下記がソースコードです。 gcc 4.7.0 20111126 (experimental) でコンパイルしています。 一度にレンダリングしようとするとメモリが足りないので、 8x8のタイル分割された画像を生成する darkroom.cpp を、darkroom.
![Sprout.Darkroom でチェック模様のテクスチャを使ったレンダリング - ボレロ村上 - ENiyGmaA Code](https://cdn-ak-scissors.b.st-hatena.com/image/square/f53f39589c54725eac6f004088d4b6b4973fd1dc/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fb%2Fboleros%2F20111214%2F20111214211033.png)