Skip to content

The purpose of this project is to learn and explore ray tracing. The code is based on Ray Tracing in One Weekend - The Book Series.

Notifications You must be signed in to change notification settings

eunmann/ray-tracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ray Tracer

The purpose of this project is to learn and explore ray tracing. The code is based on Ray Tracing in One Weekend - The Book Series. After going through the entire series, the plan is to follow up with optimizations to render faster and add features. For example, implementing better ray tracing algorithms, scaling compute power (e.g. CPU multi-threading, GPU), code optimizations, adding in different lighting, more geometry, etc.

Examples

Random Scene of Spheres

The below scene is composed of spheres with random materials. Some spheres are moving and rendered with motion blur.

Spheres

Implementation

The implementation is similar to what the series describes, except some personal flavor added in, and the below-mentioned differences.

SDL

Instead of using the PPM Image Format as a render destination, this project uses SDL to open a window and render to the window. It does not use any features other than opening a window and creating a texture to copy the rendered image into, then rendering the texture in the window. The purpose of having a window is to be able to move the camera around to explore the scene, rather than being confined into a just an image.

TODO

Finish the rest of the second book, and then go through the third book.

About

The purpose of this project is to learn and explore ray tracing. The code is based on Ray Tracing in One Weekend - The Book Series.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages