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.
- 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 | Shape |
---|---|
1 | sphere |
2 | plane |
3 | cylinder |
4 | cone |
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>
- KhanAcademy - Vectors & Spaces
- Ray Tracing in One Weekend - PDF
- Ray Tracing in One Weekend - Website
- All about Ray Tracing - YouTube
- Images in minilibx
- Ray tracing Cone - Maths behind
- Raytracing shapes on hugi.scene.org
- Scratchapixel : Introduction to Ray Tracing: a Simple Method for Creating 3D Images
- Geogebra : Draw objects in 3D
- École Centrale Lyon -- Cours de Rendu Réaliste
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
To run the program:
./rtv1 [scene]
- Fork this repository
- Clone your repository forked
- Contribute
- Push
- Create a pull request in this repository
- Wait the merged !
- Be happy :)