続き。
見通しをよくするために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版
- この商品を含むブログを見る