Skip to content

MasterLaplace/Engine-3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ME :

Rastérisation

License: MIT CSFML: 2.5 vosk-api: 0.3.30 C: 11 OS: Linux Build Status Version

Rastérisation in C with CSFML lib

Status: in progress

🪧 Table of Contents

📝 DESCRIPTION

Le but de ce projet est d’implémenter la méthode de rastérisation utilisé par de nombreux moteurs 3D pour sa rapidité et ses possibilités comparé au Ray Tracing.
Mon objectif final est de pouvoir proposer un rendu 3d graphique de n’importe quel objet importé ainsi que de pouvoir me déplacer pour l’observer sous d’autres angles en temps réel.

GOAL

Il faut : ✅

0.1 dans un premier temps parser un fichier (.obj). ✅
0.2 dans un second temps implémenter une Projection matricielle. ✅
0.3 dans un troisième temps implémenter le Clipping de Cohen-Sutherland. ✅
0.4 dans un quatrième temps ajout des déplacements de la caméra. ✅
0.5 dans un cinquième temps implémenter le Texture mapping.
0.6 dans un sixième temps implémenter un Z-buffer/Deph-buffer.

🚚 RUNNING

# Clone repository
$ git clone https://github.com/MasterLaplace/Engine-3D.git
$ cd Engine-3D

# Engine
$ make re
$ ./bin/engine.out

# Server
$ make server
$ ./src/server/server.out

# Client
$ make client
$ ./src/client/client.out [vocal mode: -v]

# Manager
$ make manager
$ ./src/manager/manager.out [help|clean|create] [layer_name]

INTERACTIONS

Key Action
W Move forward
S Move backward
A Move left
D Move right
Q Move up
E Move down
Rotate up
Rotate down
Rotate left
Rotate right
R Reset camera
ESC Quit
SPACE Pause
ENTER Next layer
BACKSPACE Previous layer
TAB Toggle layer
F1 Toggle debug
F2 Toggle wireframe
F3 Toggle texture
F4 Toggle normals
F5 Toggle lights
F6 Toggle shadows
F7 Toggle ambient occlusion
F8 Toggle bloom
F9 Toggle motion blur
F10 Toggle depth of field
F11 Toggle anti-aliasing
F12 Toggle vignette
MOUSE WHEEL Zoom
MOUSE LEFT Rotate
MOUSE RIGHT Translate
MOUSE MIDDLE Select
MOUSE LEFT Select
MOUSE RIGHT Select

🔧 DOCUMENTATION

📜 LICENSE

This project is licensed under the terms of the MIT License.

Copyright © 2023-2024 Master_Laplace.

📬 CONTACTS

This libs has been carried out by:

  • GitHub MasterLaplace

ME.inc