/miniRT

RayTracer with miniLibX

Primary LanguageC

MiniRT

About project:

In 3D computer graphics, ray tracing is a technique for modeling light transport for use in a wide variety of rendering algorithms for generating digital images.

The goal of the program is to generate images using the Raytracing protocol.

The supported these simple geometric object: sphere, cylinder, plane and paraboloid (for a bonus part of subject).

This program can apply translation and rotation transformations to objects, lights and cameras. Lighting control: spot brightness, hard shadows, background lighting (objects are never in total darkness). Implemented ambient and diffuse lighting, added specular reflection and color disruption: checkerboard.

The program is written in C language for macOS and thus needs the gcc compiler and standard C libraries to run.

Index:

  • img contains a few *.jpg files generated by the program
  • inc contains headers
  • libft contains the source code of my libft library, which is used in the program
  • maps and maps_bonus contains *.rt files that describes scenes for rendering by the program
  • mlx contains miniLibX library
  • src contains the source code of the program

Installation:

$ git clone git@github.com:Anastasiia-Ni/miniRT.git
$ cd miniRT
$ make

Usage:

  • ./miniRT path/scene.rt to render the scene.rt passed as a parameter

example:

  • ./miniRT maps/16_planets.rt

Examples of scenes:

Resources: