Skip to content

ngol0/RayTracing

Repository files navigation

Ray Tracing

Introduction

This project demonstrates the power and beauty of ray tracing to create realistic 3D graphics. With a clean, minimal setup from Walnut, this application uses fundamental ray tracing techniques to render 3D spheres with accurate lighting, shadows, and reflections. This is made for educational purpose and the referenced sources are mentioned in the Attribute section.

Features

  • Ray Tracing Fundamentals: Implements essential ray tracing techniques, including ray-object intersection, shadows, and reflections.
  • Realistic Lighting: Captures realistic light behavior to illuminate scenes beautifully, featuring emissive material to act as a light source.

Screenshots

  • Pic 1: light and shadow with emissive material
  • Pic 2: spheres of different matierals (diffuse, emissive, mirror)

Requirements

Running the project

  • To clone, use: git clone --recursive https://github.com/ngol0/RayTracing.
  • Once you've cloned, run scripts/Setup.bat to generate Visual Studio 2022 solution/project files.
  • Hit F5 to run the project.

Attribute

The application uses the template Walnut as a starting point. The RayTracing techniques and code references are from Cherno's RayTracing tutorial and RayTracing in One Weekend.

About

A simple raytracing application written from scratch using C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages