Skip to content

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

N-Ray is a path tracing renderer made for learning purposes by Narcis Calin

About

I'm making this renderer to learn more about computer graphics. The entire project is made with C++ and GLSL and it is built on top of Raylib. It has both path tracing and ray marching, meaning it is possible to render conventional scenes as well as fractals and some other cool effects. The project started being developed for the CPU but it currently runs on the GPU as well, allowing massive performance boost.

Libraries Used

For this project I have used:

  • Raylib for the base code and for multiple features like loading .hdr images and drawing stuff on screen
  • Dear ImGui for the UI
  • rlImGui to use ImGui with Raylib
  • Embree for fast CPU BVH traversal
  • GLM for math

Features

  • CPU and GPU rendering
  • Physically based rendering path tracing
  • Ray marching which also includes a PBR mode
  • Camera parameters simulation
  • Debug rays to see how rays bounce around the scene
  • Dynamic depth of field by clicking on the scene

How to build

Currently the best way to build N-Ray is by opening it through Visual Studio. You might need to get some dependencies, but most of them are inside the "external" folder If you only want to use the ray marcher, then remove the models folder

Gallery

nrayFractal nrayGlass nrayFractal2

About

Path tracer made for learning purposes.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages