PathTracing in Rust
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea
models
src
textures
.editorconfig
.gitignore
Cargo.lock
Cargo.toml
README.md
fractal.png
result.txt
rtcamp5.png
rtcamp6_1000x4spp.png

README.md

hanamaru-renderer

レイトレ合宿に向けて開発したRustによるパストレーサーです。

Results / 結果

レイトレ合宿5‽

rtcamp5.png

発表スライド

レイトレ合宿6

rtcamp6_1000x4spp.png

発表スライド

Features / 機能

  • BSDF
    • Diffuse
    • Specular
    • Refraction
    • GGX
    • Refraction with GGX Normal
  • Geometry
    • Polygon Mesh
    • Sphere
    • AABB
  • Texture Type
    • Albedo
    • Roughness
    • Emission
  • Depth of Field(DoF)
  • Image-Based Lighting(IBL)
    • Cube Map
  • Parallel processing
  • Debug Renderer
    • Fast lighting by directional light
    • Normal
    • Depth
    • Focal Plane
  • Acceleration structure with BVH
  • Next Event Estimation(NEE)
  • Reinhard Tone Mapping
  • Denoising(Bilateral Filter)

Build & Run

cargoをインストールすればすぐにビルド+実行ができます。

git clone git@github.com:gam0022/hanamaru-renderer.git
cd hanamaru-renderer

# レイトレ合宿6のレギュレーションで実行
cargo run --release

# 制限時間を1047秒に設定し、60秒ごとに途中結果を出力しながら実行
cargo run --release -- -t 1047 -i 60

# 低解像度・サンプリング数を1で実行
cargo run --release -- -w 480 -h 270 -s 1

# デバッグモードで実行(被写界深度の焦点面を可視化)
cargo run --release -- -d

# ヘルプを表示
cargo run --release -- --help

Usage: hanamaru-renderer [options]

Options:
        --help          print this help menu
    -d, --debug         use debug mode
    -w, --width WIDTH   output resolution width
    -h, --height HEIGHT output resolution height
    -s, --sampling SAMPLING
                        sampling limit
    -t, --time TIME     time limit sec
    -i, --interval INTERVAL
                        report interval se