Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/6im0n/raytracer

technique de calcul d'optique par ordinateur, utilisée pour le rendu en synthèse d'image ou pour des études de systèmes optiques
https://github.com/6im0n/raytracer

c epitech epitech-project graphics raytracer raytracing simulation

Last synced: 2 days ago
JSON representation

technique de calcul d'optique par ordinateur, utilisée pour le rendu en synthèse d'image ou pour des études de systèmes optiques

Awesome Lists containing this project

README

        

# 🩻 Raytracer



## **ℹ️ About**
The Raytracer project undertaken in the Second year at [{Epitech}](https://www.epitech.eu/) is designed to allow students to put into practice fundamental programming concepts of oriented object in C and to introduce to the development of raytracer program concept

## **📑 Project Info**
- [📦 Epitech private repository]()
- [📦 Group remote repository](https://github.com/6im0n/Raytracer)
- [📄 PDF Project]()

### **📃 Description**

Raytracer is a **Rendering algorithm**:
A raytracer is a 3D rendering algorithm, very different from the rendering algorithms used in the video game industry. It's a rendering method called "ray tracing" that works by calculating intersections. It's a very expensive method in terms of computing power, which makes it unusable for real-time rendering. However, it is a rendering method that comes as close as possible to photo-realistic rendering by simulating the inverse path of light, making it the method of choice for rendering special effects in cinema, for example.

Our goal is to create a program able to generate an image from a file describing the scene.



### ⚠️ MUST
```
Your raytracer must support the following features:
- Primitives:
• Sphere
• Plane
- Transformations:
• Translation
- Light:
• Directional light
• Ambient light
- Material:
• Flat color
- Scene configuration:
• Add primitives to scene
• Set up lighting
• Set up camera
- Interface:
• No GUI, output to a PPM file
```

### 📌 SHOULD
```
Once the previous features are working properly, you should add the following ones:
• Primitives:
• Cylinder
• Cone
• Transformation:
• Rotations
• Light:
• Drop shadows
```

> [!NOTE]
> An infinite amount of bonuses are possible. Feel free to add as many features as you want as long as the mandatory (must and should) features are completed.

## **⚙️ Technology Notes**

The program was developed using the following technologies:
- **Language:** C++
- **Graphic Library:** SFML V2.5.1
- **Parsing Library:** libconfig++

## **🙍‍♂️ Contributors:**
### **👨‍💻 Developer:**
- [⛵ Alban](https://github.com/Peralban)
- [🐟 Simon](https://github.com/6im0n)
- [🦁 Antoine](https://github.com/Antoinegtir)
- [☀️ Florent](https://github.com/C0Florent)

## **🎮 How to Use:**



For the latest stable release, visit the [Release Page](https://github.com/6im0n/Raytracer/tag/Release) and download the executable for your platform.

## **💻 Screenshots of results:**









## **👐 Contribute:**

Feel free to explore the code, contribute, or provide feedback.