Skip to content
forked from vectozavr/3dzavr

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

License

Notifications You must be signed in to change notification settings

Neirokan/3dzavr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 3Dzavr - Light C++ Game Engine

MIT License Community Discord Commits Issues Repo size version

About:

3Dzavr is yet another 3D engine for C++ that uses SDL as multimedia framework.

Motivation:

Initially this project was created as a Proof Of Concept in implementing custom CPU render from scratch.
Gradually, 3dzavr became more like a very simple version of big engines like Godot, Unity or Unreal.
Our goal is to create light and easy to use/study/contribute Open Source and free engine, which anyone can access and use in whatever purposes.
But the main goal is to have fun! You are welcome to use and contribute!

Main functionality:

  • Operations with vectors, matrices, triangles etc
  • Projections from 3D on 2D plane, movement and rotation of camera and meshes
  • The custom light component system
  • The system of attachments and hierarchy tree
  • Advanced smooth animations by using Bézier curves for meshes and camera
  • Collision detection (GJK) and resolution (EPA)
  • Resource manager and other useful utils

Installation (Linux):

  1. Update apt packet manager: sudo apt update
  2. Install gcc and c++ compilers: sudo apt install gcc and sudo apt install g++
  3. Install SDL2: sudo apt-get install libsdl2-dev
  4. Install SDL 2 TTF (for working with fonts and text): sudo apt install libfreetype6-dev libsdl2-ttf-dev libsdl2-ttf-2.0-0 -y;
  5. Install libpng library: sudo apt-get install libpng-dev
  6. Install pkg-config: sudo apt-get install -y pkg-config
  7. Clone this repository into the folder you want to work with: git clone https://github.com/vectozavr/3dzavr

If you want to use CLion (recommended)

  1. Install CLion: sudo snap install clion --classic
  2. Build and run the project.

If you don't want to use IDE or you don't want to spend your time on configuring it

  1. Install make: brew install make
  2. Go into the engine folder: cd 3dzavr
  3. Run make utility: cmake .
  4. Compile the project: make
  5. Run the compiled project: ./3dzavr

Installation (MacOS):

  1. Install brew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  2. Install developer tools: xcode-select --install

  3. Install SDL 2: brew install sdl2

  4. Install SDL 2 TTF (for working with fonts and text): brew install sdl2_ttf

  5. Install libpng library: brew install libpng

  6. Clone this repository into the folder you want to work with: git clone https://github.com/vectozavr/3dzavr

If you want to use CLion (recommended)

  1. Download and Install CLion: brew install clion
  2. Build and run the project.

If you don't want to use IDE or you don't want to spend your time on configuring it

  1. Install make: brew install make
  2. Go into the engine folder: cd 3dzavr
  3. Run make utility: cmake .
  4. Compile the project: make
  5. Run the compiled project: ./3dzavr

Installation (Windows):

TODO: Needs to be written

If you want to use Visual Studio

  1. Download and Install Visual Studio
  2. Follow the tutorial for how to run CMake project in Visual Studio

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.8%
  • C 12.9%
  • CMake 1.3%