Skip to content

Advanced Ray Tracer application, developed in C++, that utilizes OpenMP for parallel computing to enhance performance. The project features global illumination, motion blur, depth of field, soft shadows and Phong Local Illumination.

License

Notifications You must be signed in to change notification settings

AmrHMorsy/Ray-Tracing-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Ray Tracer

Advanced Raytracer application, developed in C++, that utilizes OpenMP for parallel computing to enhance performance. The project features global illumination, motion blur, depth of field, soft shadows and Phong Local Illumination.

Features

OpenMP Parallelization

This project incorporates OpenMP (Open Multi-Processing), a parallel programming model for shared-memory multiprocessor architectures, to achieve faster performance. By distributing computations across multiple CPU cores, the application can render complex scenes more quickly and efficiently.

Motion Blur

A feature that adds cinematic qualities to the rendered scenes, the motion blur function simulates the photographic phenomenon where fast-moving objects appear blurred along the direction of relative motion.

Global Illumination

By emulating how light interplays with objects within a scene, the global illumination feature provides richer and more lifelike visual outputs. It models the details of how light bounces around an environment and scatters in various directions, capturing the subtle nuances of natural light and shade.

TripleB

Depth of Field

This attribute allows for the simulation of the lens focus effect seen in real-world cameras. By adjusting the depth of field, users can emphasize specific subjects in the scene while artistically blurring other elements, creating a strikingly realistic and depth-perceptive visualization.

Soft Shadows

The Soft Shadows feature simulates the effect of shadows when light is obstructed by objects in the scene. The 'soft' refers to the non-uniform, irregular shape of the shadows, which contribute to the realistic rendering of scenes by simulating the scattering and diffraction of light.

Phong Local Illumination

The Phong Local Illumination model calculates the color of an object based on its diffuse, specular, and ambient color, as well as the light present in the scene. This feature contributes to more accurate and visually pleasing renderings by considering the local properties of the objects and the lighting conditions.

jumping_ball

License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Read the full license here.

Installation

  1. Clone the repository:
git clone https://github.com/AmrHMorsy/Raytracer-.git
  1. Navigate to the project directory:
cd raytracer
  1. Create a build directory:
mkdir build
  1. Navigate to the build directory:
cd build
  1. Generate makefiles using cmake:
cmake ../
  1. compile using makefile:
make
  1. Run the program:
./raytracer <Model_Filepath>.json

About

Advanced Ray Tracer application, developed in C++, that utilizes OpenMP for parallel computing to enhance performance. The project features global illumination, motion blur, depth of field, soft shadows and Phong Local Illumination.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published