Ray Tracing — a toy project of computer graphics course

Introduction

Ray Tracing is a toy project for an undergraduate course: Advanced Computer Graphics in 2015 Fall at Tsinghua University. Ray Tracing is an implementation of classic ray tracing algorithm for photorealistic rendering. It is written in C++11, developed using vs2013 , with dependencies of openmp and opencv. You can view the repo here

Functions

Functions of the project include:

  • Phong Model for local light computing.
  • Geometric ray intersection computing.
  • K-d tree.
  • Beer-Lambert for distance related luminance damping.
  • Soft shadow.
  • Mesh Simplification.
  • User-customized scene editing with simple script editing.

Supported Model type: simple triangle, cube, sphere, infinite plane, 3D mesh(.obj).

Demo