あとは裏側にもう1枚仮想スクリーンと同じサイズのバッファ(現在の名称Extraバッファ)を取得できるようにした。
転送で負荷が発生しないかが気になったが。memcpyでコピーを行えば毎フレーム確保しても速度的には問題ない模様。
なので1枚分仮想スクリーンの情報も取得できるようにした。
参考
-
で、上のaobenchを組み込んでみたときにちょうどいいので描画機能を実装してみた。
-
雑なコラ画像みたいになった。
元々aobenchは白黒の画像でambient occlusionを投影するプログラムなんだけど、レイが反射しないところには黒を配置する。
で、自分が作ってるラスタライザは黒をカラーキー(透過扱い)としている。
結果、背景が透過扱いになりスクショのような形になった。これはこれで面白い。
例えば上記のように、目的のレンダリングが完了した段階でExtraバッファに保存すれば、これを使ってドット絵の補間やポストエフェクトみたいなのもやりやすくなることを想定している。