Skip to content

JaytidaA/SRA-Ray_Tracer_from_Scratch

Repository files navigation

Table of contents:

Aim OF THE PROJECT

The aim of the project is to create a simple Ray Tracing application from scratch.

Clone and build the programs in the repository

Clone the repo:

git clone https://github.com/JaytidaA/SRA-Ray_Tracer_from_Scratch

To run the main application program just run the Makefile program:

make

If you have the prime-run program installed on your system and an NVIDIA graphics card then run the following program:

make prime-run

Programming Languages Used

  • C++
  • GLSL

Libraries Used

  • GLFW - Graphics Library Framework (GLFW) allows users to create and manage OpenGL windows, while handling keyboard, mouse and joystick inputs. GLFW and FreeGLUT are alternatives to the same functions.
  • GLEW - GLEW (OpenGL Extension Wrangler Library) is a cross-platform C/C++ extension loading library that provides an effcient mechanism to determine which extensions are supported on the platform.
  • GLM - GLM is a C++ mathematics library for graphics software based on the OpenGL Shading Library(GLSL) specification. We used the GLM library to provide animations to the shapes we rendered using Modern OpenGL. GLM library provides us with matrices and vectors which can be passed to the draw call, and refresh the indices of the shapes rendered, resulting in motion.
  • IMGUI - Immediate Mode Graphical User Interface is a popular library used primarily in C++ for creating graphical user interfaces (GUIs) in applications. It's particularly popular in game development, tools, and applications where performance and ease of use are critical.

Results

Rendering spheres of different materials:

Lambertian Sphere Glass Sphere Metallic Sphere

Rendering a cylinder:

Cylinder_OpenGL

Rendering cubes:

Cube Metallic and Lambertian Cubes

Implementing GUI on the cylinder:

Cylinder_GUI.webm

Contributors

Resources

Acknowledgements

  • Special thanks to our mentors Anish Mahadevan for guiding us through the Eklavya program.
  • Special thanks to Yan Chernikov, Joey de Vries and Peter Shirley as well for their amazing projects which help made this one easier.

About

A simple Ray Tracing program built using OpenGL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •