Skip to content

My implementation of Peter Shirley's Ray Tracing in One Weekend

Notifications You must be signed in to change notification settings

carlos-lopez-garces/ray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is the result of studying the Ray Tracing in One Weekend series, Peter Shirley (online edition).

Book1 image

The sections I've covered are marked next. My personal notes are found in notes.

1 Overview

2 Output an Image

  • 2.1 The PPM Image Format
  • 2.2 Creating an Image File
  • 2.3 Adding a Progress Indicator

3 The vec3 Class

  • 3.1 Variables and Methods
  • 3.2 vec3 Utility Functions
  • 3.3 Color Utility Functions

4 Rays, a Simple Camera, and Background

  • 4.1 The ray Class
  • 4.2 Sending Rays Into the Scene

5 Adding a Sphere

  • 5.1 Ray-Sphere Intersection
  • 5.2 Creating Our First Raytraced Image

6 Surface Normals and Multiple Objects

  • 6.1 Shading with Surface Normals
  • 6.2 Simplifying the Ray-Sphere Intersection Code
  • 6.3 An Abstraction for Hittable Objects
  • 6.4 Front Faces Versus Back Faces
  • 6.5 A List of Hittable Objects
  • 6.6 Some New C++ Features
  • 6.7 Common Constants and Utility Functions

7 Antialiasing

  • 7.1 Some Random Number Utilities
  • 7.2 Generating Pixels with Multiple Samples

8 Diffuse Materials

  • 8.1 A Simple Diffuse Material
  • 8.2 Limiting the Number of Child Rays
  • 8.3 Using Gamma Correction for Accurate Color Intensity
  • 8.4 Fixing Shadow Acne
  • 8.5 True Lambertian Reflection
  • 8.6 An Alternative Diffuse Formulation

9 Metal

  • 9.1 An Abstract Class for Materials
  • 9.2 A Data Structure to Describe Ray-Object Intersections
  • 9.3 Modeling Light Scatter and Reflectance
  • 9.4 Mirrored Light Reflection
  • 9.5 A Scene with Metal Spheres
  • 9.6 Fuzzy Reflection

10 Dielectrics

  • 10.1 Refraction
  • 10.2 Snell's Law
  • 10.3 Total Internal Reflection
  • 10.4 Schlick Approximation
  • 10.5 Modeling a Hollow Glass Sphere

11 Positionable Camera

  • 11.1 Camera Viewing Geometry
  • 11.2 Positioning and Orienting the Camera

12 Defocus Blur

  • 12.1 A Thin Lens Approximation
  • 12.2 Generating Sample Rays

13 Where Next?

  • 13.1 A Final Render
  • 13.2 Next Steps

About

My implementation of Peter Shirley's Ray Tracing in One Weekend

Topics

Resources

Stars

Watchers

Forks

Languages