Skip to content

A ray tracing engine built for scratch with several complex features. For Yale's Computer Graphics class.

Notifications You must be signed in to change notification settings

ZSciamma/pale-spire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pale Spire

This was our final project for the Yale class Computer Graphics, CPSC 478, in Spring 2021. It was built by Zacharie Sciamma and Matt Udry. The assignment was to create a 10-second movie scene, using our own distribution ray tracing engine built from scratch in C++. Our engine can render triangles, rectangles, and cylinders, and it also has the following complex features:

  • Soft shadows
  • Glossy reflections
  • Textures
  • Cook-Torrance reflectance

You can watch our final movie scene here:

final movie render

Build and Run

To install the project:

  • Clone the repository
  • On Mac, install jpgeglib using brew install jpeglib
  • Install IINA for viewing the movies

Then, to run it:

  • In the top level directory, call make then ./previz
  • Go into the frames directory, then call make
  • Run ./movieMaker
  • View the output .mov file using IINA (on Mac, right click it then select "Open with IINA")

Citations

We used code provided by Professor Kim for the Cook-Torrance model. This was the BRDF demo, provided on 19th April 2021, in file BRDFs/chapter6/illumination_models/shaders.js, line 113-176. We edited this code to convert it from GLSL to C++. We used it in the file material.cpp, lines 39-89

Images

We used the following images as textures for the swimming pool:

swimming_floor_1: https://pixabay.com/photos/water-swimming-pool-wave-pool-1018808/ swimming_wall_1: https://pixabay.com/photos/swimming-pool-pool-tiles-blue-4638912/ swimming_marble_1: https://pixabay.com/photos/marble-texture-white-pattern-2362262/

About

A ray tracing engine built for scratch with several complex features. For Yale's Computer Graphics class.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published