All Projects → vectozavr → 3dzavr

vectozavr / 3dzavr

Licence: other
3D engine from scratch (without OpenGL or any other 3D graphics library)

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Labels

3dzavr

About:

Simple 3d engine based on SFML library. I tried to make this engine powerful and easy to understand.

The main goal - to implement basic 3D graphics from scratch (without OpenGL or any other 3D graphics library)

For this moment I already implemented:

  • Operations with Point4D, Matrix4x4, Triangles and Mesh. I used operators overloading to simplify coding.
  • Projections from 3D on 2D plane, movement and rotation of camera and meshes.
  • Triangles clipping
  • Advanced smooth animations by using Bézier curves for meshes and camera
  • External camera (You can see how 3D world projected on 2D plane and the process of clipping)
  • You can render animated scene to .mp4 files or sequence of .png files (film/img/ & film/mp4). But it is extremely slow process due-to SFML waste a lot of time on saving .png files. It is still better to capture your screen by some additional software.
  • Physics engine
  • Network system

Installation:

  1. Download and install OpenAL library for SFML sound support (in current version you can't setup this engine without OpenAL)

    openal: https://openal.org/downloads/

  2. Install SFML on your computer (The compiler versions have to match 100%):

    sfml: https://www.sfml-dev.org/download.php

  3. Open CLion or Visual Studio

    CLion (recommended): https://www.jetbrains.com/clion/

    Visual Studio: https://visualstudio.microsoft.com/ru/

  4. Clone this repository

    rep url: https://github.com/vectozavr/3dzavr

  5. Built project

For any issues, please, create new issue in this repository.

Demonstration of how does this engine work: hippo hippo Project demonstration Project demonstration Project demonstration Project demonstration Project demonstration Project demonstration

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].