Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

CodeSignal

Geometry and Scene Building in our C++ Ray Tracer

via CodeSignal

Overview

Build scenes in C++: add spheres, compute ray–sphere hits, shade with normals, manage multiple objects via a hittable interface, and introduce a camera and utilities for clean code.

Syllabus

  • Unit 1: Ray Sphere Intersection
    • Sphere Intersection Quiz
    • Exploring Sphere Position and Size
    • Debugging the Sphere Intersection Algorithm
    • Visualizing Ray Path Through Sphere
  • Unit 2: Shading with Surface Normals
    • Adjusting Brightness in Normal Shading
    • Grayscale Shading with Single Normal Component
    • Rendering Multiple Spheres with Normal Shading
    • Alternative Normal Visualization with Absolute Values
  • Unit 3: Scenes and Closest Hits
    • Orienting Surface Normals for Ray Tracing
    • Validating Intersection Ranges in Ray Tracing
    • Adding Multiple Spheres to Your Scene
    • Fixing Occlusion in Multi Object Scenes
    • Building a Multi Sphere Scene
  • Unit 4: Building Extensible Ray Tracer
    • Creating the Abstract Hittable Interface
    • Implementing the Sphere Class
    • Building the Scene Container Class
  • Unit 5: Camera Abstraction and Ray Generation
    • Debug the Camera Ray Generator
    • Adding Customizable Focal Length to Camera
    • Rendering Multiple Camera Views Simultaneously
    • Implement Camera Auto Centering Function
    • Randomize Rays Within Pixel Boundaries
  • Unit 6: Reusable Math Utilities
    • Creating Your First Constants Header
    • Building Math Utilities for Angle Conversion
    • Building Random Number Generation Utilities
    • Extending Vectors with Random Utilities

Reviews

Start your review of Geometry and Scene Building in our C++ Ray Tracer

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.