Skip to content

yhebbat/cube3D

Repository files navigation

Introduction

Welcome to the cub3d project, a 3D representation of a cube created using the C programming language and the MLX library. This project was completed as part of the curriculum at 42 Network, and is designed to demonstrate your skills in computer graphics and game design.

Objectives

The objective of this project is to create a 3D representation of a cube, complete with lighting and shading effects, using the C programming language and the MLX library. You will also be required to implement key functionalities such as camera movement, user interaction and object collision detection.

Design and Development The design of the cub3d project was based on the following key considerations:

Simple, efficient and scalable code structure User-friendly interface and controls Real-time rendering of the 3D cube and its environment The development of the cub3d project was done using the C programming language and the MLX library. The MLX library provides a range of functions for creating and manipulating graphics, while the C programming language was used to structure the code and implement the key algorithms and data structures required for the project.

Key Features

The following are some of the key features of the cub3d project:

3D representation of a cube, complete with lighting and shading effects Real-time camera movement and user interaction Object collision detection and response User-friendly interface and controls

Usage

To run the cub3d project, follow these steps: Clone the repository to your local machine Open a terminal and navigate to the project directory Compile the project by running the following command:

make

Run the project by executing the following command:

./cub3d map.cub

Conclusion

The cub3d project is a great demonstration of your skills in computer graphics and game design, using the C programming language and the MLX library. It showcases your ability to create a 3D representation of a cube, complete with lighting and shading effects, and to implement key functionalities such as camera movement and user interaction. We hope that this project will serve as a valuable learning experience and a testament to your skills and abilities.