Back to projects

3D Rendering · Team Project

Raytracer

A C++ ray-tracing engine that generates rendered scenes by simulating how light interacts with objects, materials, shadows, and reflections.

C++Ray TracingScene ParsingOOPDesign Patterns3D Rendering
A rendered Raytracer scene with reflective and transparent objects

The project

Rendering 3D scenes from a text-based description

Raytracer is a rendering engine written in C++. It receives a scene description, creates the objects and materials defined in that scene, and renders an image by tracing rays from the camera through each pixel.

The project supports geometric primitives, materials, lighting, shadows, and reflections. The codebase uses an object-oriented design to keep scene components modular and extensible.

My contribution

Scene-file parser

I worked on the parser responsible for reading the scene description file and converting its contents into structured data the ray-tracing engine could use.

  • • Read and interpreted scene-description data from input files.
  • • Converted parsed values into structured scene information.
  • • Helped connect file-based configuration with the rendering pipeline.
  • • Collaborated within a team codebase using Git workflows.

Technical focus

Parsing and validation

Turned a scene-description format into reliable structured data for the rest of the application.

Object-oriented design

Worked within a modular C++ architecture for representing scene objects, materials, and rendering behaviour.

Team development

Built one component of a larger rendering system while coordinating with teammates and integrating shared code.