13. 最後のシーン・高品質版
WARNING
このページのレンダリングは時間がかかります。ボタンを押した後,WASM(ブラウザ)では概ね 5〜10 分かかります(ハードウェアにより異なります)。完了まで画面はフリーズしたように見えますが,正常動作です。
標準版との違い
| 標準版(13.md) | 高品質版(このページ) | |
|---|---|---|
| 解像度 | 300 × 169 | 600 × 400 |
| spp | 30 | 100 |
| グリッド | 22 × 10(a: -11..11,b: -5..5) | 22 × 22(a: -11..11,b: -11..11) |
| 推定時間(WASM) | 5〜10 秒 | 5 分 |
高品質版では原典の 22 × 22 グリッドを完全再現しているため,球の数が増え,シーンの奥行き方向により多くの小球が並びます。
実装の差分
r113-final-scene-hq はグリッドのループ範囲を変更しただけで,それ以外のコードは r113-final-scene と同一です。
rust
// Standard version: 22 × 10
for a in -11..11 {
for b in -5..5 {
// High-quality version: 22 × 22 (same as the original book)
for a in -11..11 {
for b in -11..11 {解像度とサンプル数の違いは render_image() の先頭の定数を変えているだけです。
rust
// Standard version
let image_width = 300_i32;
let samples_per_pixel = 30_i32;
// High-quality version
let image_width = 600_i32;
let samples_per_pixel = 100_i32;