DaftMat / School-Ray-Tracer

A more advanced Ray Tracer with pbr shading, bsdf, anti-aliasing and much more !

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Codacy Badge Build Status

School-Ray-Tracer

A more advanced Ray Tracer with shaders, bsdf, anti-aliasing and much more !

Introduction

This Ray Tracer is the school project for image traitment program of 3rd bachelor year in computer science, there are some scenes you can try ! Or you can add yours setting the right lines in the main.cpp (do not break it !)

What does this Ray Tracer include ?

  • Basic Ray-Casting from foved camera to a 3d scene represented with points, distances and vectors.
  • Basic shading and shades : realistic effects on the color of the objects in the scene.
  • BSDF : realistic effect of light scattered by the surfaces.
  • Reflexions and refractions
  • Anti-aliasing : using basic supersampling
  • Mapping : possibility to add a texture to any of these parameter (in the material of the object)
    • Diffuse color
    • Specular color
    • Roughness (for the BSDF)
    • Intersection normals

Download

To download this project you can clone it with the submodules so you can build it and edit it as you want using your favorite environment.

  • git clone --recurse-submodules <gitlink>
    • hint : you can get the git link clicking on the clone button on the top of the repository.

Build

  • Go to src, make sure all the dependencies are in this src directory. Open a terminal and run the following commands
    • mkdir src/build
    • cd src/build
    • cmake ..
    • make
  • Then you'll have two executable files in the build directory : mrt and unit-test (<= you don't need this one)

Execution

Command : ./mrt [out_file_name] [id_scene] Width id_scene from 0 to 8.

Example scene !

2 wolves and a deer in low poly

About

A more advanced Ray Tracer with pbr shading, bsdf, anti-aliasing and much more !


Languages

Language:C++ 85.0%Language:C 11.7%Language:Makefile 1.7%Language:CMake 1.6%