e-tipsmemo

ごった煮

Rustでレイトレーシング 1.5 画像出力

e-tipsmemo.hatenablog.com

の補足。

後々にレイトレーシングをマルチスレッド化していこうと思っているので
まずは画像出力をマルチスレッド化した。

階層はこのような感じ
f:id:katakanan:20180105233635p:plain
実行結果は以下の様になる
f:id:katakanan:20180105002231p:plain:w300
上から3つのスレッドがそれぞれ画素を計算している事がわかる。

最終的なイメージも渡してmutexのlockをして各スレッドから一枚絵を作る方法もあるが、
とりあえず今回の方向性では採用しないことにした。

画像の分割は縦のピクセルを等分して余った分は最後に含めているので
スレッド数が7のときは
画像サイズが
800x85が6個と800x90を1個計算して
最後にまとめる。

Programming Rust: Fast, Safe Systems Development

Programming Rust: Fast, Safe Systems Development