From 7d5ffa85bee106d12687bcb894f3a891d3fcbe75 Mon Sep 17 00:00:00 2001 From: Giorgio <115313645+Giooorgiooo@users.noreply.github.com> Date: Tue, 26 Dec 2023 15:48:50 +0100 Subject: [PATCH] docs: added a readme file for V1 --- README.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ae715e..3c15540 100644 --- a/README.md +++ b/README.md @@ -1 +1,22 @@ -# ThreeD-Graphics-Engine \ No newline at end of file +![](https://github.com/Giooorgiooo/ThreeD-Graphics-Engine/blob/main/teapot.gif) +# ThreeD Graphics Engine + +## Overview +The 3D Engine is a Java-based graphics engine designed to facilitate the development of 3D applications and games. It provides a foundation for rendering and manipulating 3D scenes, supporting features like object loading, camera movement, and basic lighting. + +## Features - V1 +- **Object Loading:** Load 3D models from Wavefront (.obj) files, supporting only vertices. + +- **Rendering:** Utilize a simple rendering pipeline to project and rasterize 3D triangles onto a 2D screen. + +- **Lighting:** Implement basic flat shading with a directional light source, affecting the appearance of loaded objects. + +- **Game Loop:** Employ a game loop to update and repaint the engine at a specified frames per second (FPS). + +- **Backface Culling:** Optimize rendering performance by automatically discarding triangles that are not visible to the camera. Triangles with normals facing away from the camera are not drawn. + +## Getting Started +1. Clone the repository to your local machine. +2. Open the project in your preferred Java development environment. +3. Customize and extend the engine to suit your specific 3D graphics needs. +