PathTracing in Rust
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea add timer Aug 5, 2017
models final version Aug 30, 2018
src fix init_scene_rtcamp6_v3_1 Sep 3, 2018
textures Rename magic-circle.svg Aug 29, 2018
.editorconfig Add .editorconfig Aug 6, 2017
.gitignore Fix progress_iamge output filename Aug 30, 2018
Cargo.lock use getopts Aug 30, 2018
Cargo.toml use getopts Aug 30, 2018
README.md Update README.md Sep 3, 2018
fractal.png Run fractal example Jul 28, 2017
result.txt Update README.md Sep 1, 2018
rtcamp5.png Update README.md Sep 1, 2018
rtcamp6_1000x4spp.png Update README.md Sep 1, 2018

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