GithubHelp home page GithubHelp logo

hamza-ezzahiry / rtv1_team Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 132 KB

My first RayTracer with miniLibX Using C

Home Page: https://en.wikipedia.org/wiki/Ray_tracing_(graphics)

Makefile 3.56% C 96.44%

rtv1_team's Introduction

RTv1

All Contributors

Gatsby

Ray Tracing Version 1.0 (RTv1)

About

RTv1 is a project i made it during my student years at 1337 School khouribga (one of 42 network), This project is the first step to create a Raytracing program, for you to finally be able to render computer-generated images.

Project Contents :

  • 01. Libft : C library regrouping usual functions that we’ll be allowed to use in all your other projects.
  • 02. minilibx
  • 03. Ray Tracing files + Parsing
  • 03. scenes

ID of evey Shape (for parsing) :

id Shape
1 sphere
2 plane
3 cylinder
4 cone

Parsing file format

camera -50,0,20 0,0,0 70 
light -40,0,30 0.7 255,255,255 
sphere 0,0,20 20 255,0,0 0,0,0 0,0,0
plane 0,0,0 0,0,1 255,0,225 0,0,0 0,0,0
cylinder 50,0,20.6 14.2 21.42 0,1,0 10,0,255 0,0,0 0,0,0
cone 0,0,-10 3 10 255,150,50  0.3,-1,0.8 0,0,0 0,0,0

Camere

camera <position> <look at> <field of view> 

light

light <position> <intensity> <color> 

Sphere

sphere <origin> <raduis> <color> <translation> <rotation>

Plane

plane <origin> <color> <norme> <translation> <rotation> 

Cylindre

cylindre <origin> <raduis> <height> <axis> <color> <translation> <rotation>

Cone

cone <origin> <raduis> <height> <color> <axis vector> <translation> <rotation>

Resources :

Getting Started

Compiling

Run the following commands:

  • To compile
    • make
  • To remove objects:
    • make clean
  • To remove objects and binary file (program):
    • make fclean
  • To re-compile:
    • make re

Executing

To run the program:

./rtv1 [scene]

Screenshots

Screen1

Screen2

keys keyboards (Minilibx)

I want to contribute to the project! But how?

  • Fork this repository
  • Clone your repository forked
  • Contribute
  • Push
  • Create a pull request in this repository
  • Wait the merged !
  • Be happy :)

rtv1_team's People

Contributors

hamza-ezzahiry avatar ayarra avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar

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.