vectozavr / 3dzavr

3D game engine with custom CPU rendering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🚀 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 game engine with custom CPU rendering

License:MIT License


Languages

Language:C++ 85.8%Language:C 12.9%Language:CMake 1.3%