/Engine3D

Basic Graphics Renderer using C++

Primary LanguageC++MIT LicenseMIT

Engine3D

Docs contributors License

os visual studio

Engine-3D is a 3D-Graphics Renderer built from scratch in C++, as an Undergraduate Computer Engineering Project for 5th Semester, assigned by Department of Electronics and Computer Engineering, Pulchowk Campus under the course Computer Graphics (EX603)

Features

  • Model Transformation: Translation, Rotation, Scaling
  • Orthographic & Perspective projection
  • Line drawing: Bresenham's algorithm
  • Rasterization: Scanline algorithm
  • Wireframe, Color fill & Texture fill
  • Model loading using .obj file
  • Material rendering using .mtl file
  • Look-at Camera & its movement
  • Directional Light & its movement
  • Z-Buffer
  • Back-face Culling
  • Polygon Clipping
  • Local Illumination
  • Phong Illumination Model
  • Flat & Gouraud Shading

Dependencies

Future Works

  • Shadows
  • Phong Shading
  • Transparency
  • Global Illumination
  • Arcball and FPS Camera
  • Anti-aliasing (FXAA)
  • Multithreading
  • Ray Tracing

How to run

You will need Windows and Visual Studio to run.

Clone the repo:

git clone https://github.com/chiraqL/Engine3D

Open Engine3D.sln using Visual Studio

Add to Library Linker:

assimp-vc142-mtd.lib;glew32.lib,glfw3.lib

Add .dll files from /dependencies to .exe location

Build and Run.

Project Members