This repository was archived by the owner on Jul 18, 2024. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork5
An instructive one-file Ruby path tracer
License
NotificationsYou must be signed in to change notification settings
JVillella/tiny-path
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A tiny, one-file, Monte Carlo path tracer written in a few hundred lines of Ruby. The source accompanied a short talk I gave as an introduction to Ray Tracing (presentation slides availablehere). The hope is that it provides a simple to understand example. The image below is the rendered output at 1024spp.
- Monte Carlo method
- Global illumination
- Diffuse, and specular BRDFs
- Ray-sphere intersection
- Soft shadows
- Anti-aliasing
- Modified Cornell box
- PNG image format output
- Progressive saving
$ ruby tiny-path.rb --helpUsage: tiny-path.rb [options] -w, --width=width Image width -h, --height=height Image height -s, --spp=spp Samples per pixel -o, --output=filename Output filename -p, --[no-]progressive-save Save file while rendering
To render the scene at 16 samples per pixel, run the following command,
$ ruby tiny-path.rb -s 16
It will save a file in the same directory titledoutput.png
.
Julian Villella
Tiny Path is available under the MIT license. See the LICENSE file for more info.
About
An instructive one-file Ruby path tracer
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Contributors2
Uh oh!
There was an error while loading.Please reload this page.