Rust レイトレーシング ③ マルチスレッド

e-tipsmemo.hatenablog.com

続き。

見通しをよくするためにcolor構造体を利用することにした。

各色は0.0~1.0しか取らないので適当にclampしてやる必要があるのでそういった細かい関数は

へ書くことにした。



色は基本的にシーン内で計算することにした。



マルチスレッドになっているものを可変にする。
実行時引数を利用する。


それほど難しいことはなく、以下を参考にすればよい。
rustbyexample.com

ついでに時間を測り始めた。

time crateが必要。
Rust multithread 実行時間測定 - e-tipsmemo

cargoで引数を渡すには--を付ける。

$ cargo run -- 1
    Finished dev [unoptimized + debuginfo] target(s) in 0.26 secs
     Running `target/debug/rust_ray01 1`
Hello, world!
thread:1
time:5031427000 ns
$
$ cargo run -- 3
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/rust_ray01 3`
Hello, world!
thread:3
time:1781288000 ns

速くなっている。。?

結果は変わらない。
f:id:katakanan:20180121110300p:plain:w300


Programming Rust: Fast, Safe Systems Development

Programming Rust: Fast, Safe Systems Development