Skip to content

TheJoseph-Dev/Pathtracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pathtracer

A personal project with the aim of creating a GPU Accelerated Pathtracer using OpenGL

Features

  • Diffuse Rendering
  • Specular Rendering
  • Transmission and Refraction
  • Polygons (Ray-Triangle Intersection)
  • GPU Accelerated

How it developed

First it started with some simple Ray-Sphere Intersections and Basic Diffuse Lighting in Shadertoy

Raytracing without Accumulation, Dot Product Diffuse Lighting Archaic

Accumulation Without Tone Mapping Shadertoy-Pathtracer-1

Specular Reflections Shadertoy-Pathtracer-2

Diffuse Light Bounces Shadertoy-Pathtracer-3


Then I moved it to OpenGL, allowing much more advanced calculations, performance and controll

Sky and Ambient Light OpenGL-Pathtracer

Ray-Triangle Intersection, Polygons OpenGL-Pathtracer-RayTriangle

Bloom OpenGL-Pathtracer-NightBloom

Transmission and Refraction, ImGUI OpenGL-Pathtracer-Advanced


At last, there is a more composed scene viewed in many ways

Scene without Bloom OpenGL-FinalScene-NB

Scene with Bloom OpenGL-FinalScene-B

Scene without Bloom with Blender Denoise and Glare applied OpenGL-FinalScene-BDNB

Scene with Bloom and Blender Denoise OpenGL-FinalScene-BDB

The Future

I consider the results as satisfactory, there are still some features missing such as caustics, proper light transmission/refraction and Skybox, but the main objective has been achieved for now

What I've Learned

  • The Rendering Equation
  • PBR
  • Shader programming skills
  • Understanding of how a modern renderer work
  • Light interactions with objects and nature

Resources

About

A GPU accelerated pathtracer

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published