GithubHelp home page GithubHelp logo

bensouchet / raytracer Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 1.0 5.92 MB

School Project - Graphic - Raytracer Engine & Renderer from scratch

Makefile 0.20% C 94.80% C++ 4.82% Objective-C 0.17%
raytracer raytracing raytracing-render c sdl2 opencl shaders presets outliner

raytracer's Introduction

RT (Raytracer Engine & Renderer)

This raytracer is a program developed for my learning course at 42 school (Paris).
The objective is to recreate from scratch a raytracer engine & renderer with a strong interface.

Project created on pure C with SDL (SDL2, SDL2_ttf & SDL2_image) & OpenCL.
Quick video (made with Lionel GATIBELZA) : See the video on Youtube

List of options available :

  • Add / Delete elements (Cameras, Lights & Shapes)
  • Outliner (Navigate between elements)
  • Edit elements settings (Cameras, Lights & Shapes)
  • Save current scene file (.rt)
  • Export image of the renderer (.png)
  • Set preset on shapes (Earth, Sun, Moon & Jupiter)
  • Add special effect on rendered image (Cartoon, Reverse, Sobel Effect, Grey, Sepia, Saturate & Pixel Art)
  • Add Skybox (Day & Night)
  • Anti-Aliasing with clustering (render the image on multiple computers)
  • Add Shaders on shapes (Perlin Noise, Wood, Marble (x7))
  • Edit colors of shaders

Install & launch

Install it

git clone https://github.com/BenjaminSouchet/RT.git ~/RT
cd ~/RT
make

Start a scene

./rt scenes/{SCENE}.rt

{SCENE} : The scene you want to open (located in folder 'scenes')
Example โ‡ฃ

./rt scenes/Solar_system.rt

Contact & Copyright

Project done with Lionel GATIBELZA & Erwan RODRIGUES
If you want to contact me, you can send me a mail at [email protected]

raytracer's People

Contributors

42-school avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

vaerys42

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.