/VoxelEngine

Voxel Engine is game engine based on voxel. The goal is to have a engine that can load map composed of chunks that contained voxel. This implies many problems of memory managing in order to not load all chunk of the map in RAM. Another problem is the transfer between de CPU data and GPU.

Primary LanguageC++MIT LicenseMIT

Voxel-Engine

Build Status

Voxel-Engine is a WIP game engine specialized for voxel rendering. It is made by 2 students to learn the process of creating a game engine.

terrain_1

terrain_deep

terrain_large

Features

Jeu
  • you can shoot projectile by pushing F
Change transform
  • Change position
  • Change orientation
  • Change scale
  • Animate orientation
Change tools position
  • Change camera position, fov, orientation
  • Change light position
Display
  • Activate/Deactivate display in wire frame
Components

The components are in the folder src/components/

  • Camera Follow : follow the objet attached to
  • Axis Renderer : display axis in the camera Editor
  • Camera Controller First Person : allow to move and rotate the camera with left and right click
  • Camera Projective : functions needed to make a projective camera
  • Camera Renderer : WIP, display the camera in the editor
  • Chunk Renderer : display a terrain composed of chunks with OpenGL
  • Controller : allow to interactively strafe and go forward and backward
  • Mesh Renderer : display in the screen with OpenGL the mesh
  • Third Person Controller : allow to move the camera around an objet like in a third person game

How to clone

git clone --recursive https://github.com/TheSpyGeek/VoxelEngine.git

Build

On Linux

Dependencies :

sudo apt-get install -y build-essential cmake xorg-dev libgl1-mesa-dev libfreetype6-dev

To build :

mkdir build && cd build && cmake .. && make

On Windows

Dependencies :

To build :

  • Create a directory build
  • Run Cmake
  • Configure with Mingw Makefile
  • Run mingw64
  • Go to build directory
  • Compile with mingw32-make
On MAC OSX

Should work

Resources