計算時間は512x512で数分かかります。
参考サイト
[1] http://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20101122
[2] http://d.hatena.ne.jp/shuichi_h/20100318/
手順は以下のようにしました。
1. 視点から近クリップ面にレイを飛ばす
2. 当たったら、そこからn本のレイを拡散反射方向に飛ばす
3. n本中a本が衝突せず、残りの(n-a)本が衝突した場合、a/nの値をバッファに格納する
4. 3.で計算した値をガウスフィルタでぼかす
5. フィルタを掛けた結果をそこの色に掛けて最終的な色にする
2.のところがやはり時間がかかりますね。512x512=262,144で、そこから×n倍ですので、例えば500本飛ばしたら131,072,000本のレイを飛ばすことになります。
実行結果
200本飛ばしてフィルタなしが左、500本飛ばしてフィルタあり(5x5のガウスフィルタ)が右になります。
狭い部屋でレイを飛ばす距離を長くしているので、ほぼどこかに当たって暗くなるため無理やり明るくしています。

