DAFT Project

Epita S4 Project

The DAFT Engine Library is an open-source project of a real-time 3D engine designed to be easy to use and integrate into existing systems. In the final version, we aim to provide a library capable of rendering transparent objects with textures as well as reflections in an efficient maner.
Eventually, we plan to add physic characteristics to objects and watch them interact in real time.

TimeLine of the project

  • 24 / 05 / 2023 Version 1.0 released
  • 18 / 05 / 2023 First shading effects
  • 13 / 05 / 2023 First textures
  • 04 / 04 / 2023 Beta 2.0 released
  • 17 / 03 / 2023 First reflection effect
  • 13 / 02 / 2023 Beta 1.0 released
  • 08 / 02 / 2023 First rendered object
  • 27 / 01 / 2023 Utils creation
  • 18 / 01 / 2023 First code commit
  • 22 / 12 / 2022 Begin of the project.

Renderings


The Team

Florian LAINE

Website - Optimization

I introduced this project idea to my teammates and they immediately seemed to agreed. I personally am truly into the 3D processing since afew months ago and am super excited to start ! I have been doing some test on my own up to nowbut I am thrilled to take it to the next level by getting involved as part of a group work. Finally, this project represent for me a huge opportunity to accomplish one of my child dream I had when I was wondering how 3D graphics are working while playing some of my favorite games.

Timothy PEARSON

Physics - Utils

I am really looking forward to this project and I think that it will serve very useful in the future. Furthermore, building a 3D engine relies partially on vectors and linear algebra which we have done in maths class so it will be fun to apply these subjects to a real world situation. We intend to add some physics to the objects in our world if we have time which I am very excited about. I am eager to learn more physics application to my work at EPITA projects and better my knowledge in C programming.

David WU

Ray Casting

Being a novice at programming, this type of project seemed to be a real challenge for me. Indeed, I’ve never looked into such a project before : it includes loads of mathematical notions but also a great algorithm interest. To some extent, I am excited to begin the realization of this project, since I truly think that it can bring me some knowledge and skills that I need for my future engineer career. I know that I have teammates that I can count on, who will be able to help me if I struggle. Moreover, since I have been playing video games for several years, I have always been interested in 3D engines even if I have never had the opportunity to study the subject. I hope this project will make me discover a new exciting field of computer sciences.

Angela SAADE

OBJ Files - Texture

I am excited to begin this project and see the potential it holds for me to gain a deeper under- standing of 3D processing. This project is a great opportunity to learn, improve my skills by being part of this group. Even though I have had little to no experience with this subject and working in a team can be challenging sometimes, but I am determined to help and contribute as much as possible. It is a new type of project for me; building approximately everything from scratch, and it motivates me to take on this challenge.


Downloads

Release 1.0

RELEASE
Release version 1.0 of the project - Linux (x64)

131.1 Ko

24 May 2023

Example scene

ZIP
A single example scene - Archive (.zip)

30.9 Mo

23 May 2023

Sample scenes

ZIP
A list of working scene - Archive (.zip)

75.1 Mo

23 May 2023

Project Explainations - Release V1.0

PDF
Final document explaining the project - PDF File

6.9 Mo

19 May 2023

Beta 1.0

BETA
First beta version of the project - Linux (x64)

93.2 Ko

13 February 2023

Project Explainations - Beta v1.0

PDF
First Document explaining the project - PDF File

111.3 Ko

20 January 2023

Dependecies

External libraries
Specifications
  • C language
  • Few dependencies
  • OS independent
  • Easy to use
  • Documentation

Latest news

This project is still in development, but you can already download the first beta version.
We have already planned a lot of new features, but we are open to any suggestions. If you have any ideas, please contact us at florian.laine@epita.fr