続き。
見通しをよくするために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速くなっている。。?
結果は変わらない。


Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1) (English Edition)
- 作者: Peter Shirley
- 発売日: 2016/01/26
- メディア: Kindle版
- この商品を含むブログを見る

Programming Rust: Fast, Safe Systems Development
- 作者: Jim Blandy,Jason Orendorff
- 出版社/メーカー: O'Reilly Media
- 発売日: 2017/11/21
- メディア: Kindle版
- この商品を含むブログを見る