8000 GitHub - NinjaSlayerSang/ray-tracer: A learning project for Ray Tracing algorithm & Rust language
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A learning project for Ray Tracing algorithm & Rust language

Notifications You must be signed in to change notification settings

NinjaSlayerSang/ray-tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Project

This is a project for studying Ray Tracing algorithm & Rust language, refering to Ray Tracing in One Weekend but implemented by Rust.

Ray Tracing

An excellent series of primer tutorial books for this fascinating Computer Graphics technology: Ray Tracing in One Weekend — The Book Series

Multiple Threads

Render rays' color in multiple threads, only invloving Rust standard library. Learn how to use std::sync::Arc sharing pointers among threads, std::sync::mpsc::channel sending messages between threads, and std::sync::Mutex & std::sync::Condvar implementing a Semaphore to control the amount of active threads.

Run

Install Rust toolchain before running.

# pinballs
cargo run --example pinballs --release -- pinballs.ppm
# marble texture
cargo run --example marble --release -- marble.ppm
# add "--release" unless you have enough patience to wait for much longer time...

# test
cargo test --test ${test_crate_name} -- --color always --show-output

image

About

A learning project for Ray Tracing algorithm & Rust language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
305D

Languages

0