Skip to content
A 3d game engine with C++ and OpenGL
Branch: master
Clone or download
Latest commit 71be2ac Sep 30, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake Change name from SDL2_LIBRARY to SDL2_LIBRARIES Nov 30, 2016
res Made gifs smaller Sep 30, 2017
src Made gifs smaller Sep 30, 2017
.gitignore Added material support Sep 23, 2017
.gitlab-ci.yml Update gitlab CI config Nov 30, 2016
CMakeLists.txt Add res files again, and use cmake 3.0 Nov 30, 2016
LICENSE
README.md Made gifs smaller Sep 30, 2017

README.md

3D Game Engine build status

A test game engine with C++ and OpenGL.

Quick Start

You need the following libraries:

  • cmake
  • SDL2
  • GLEW
  • ASSIMP
  • GLM

CMake recommends out of directory builds, so it's a smart idea to make a new directory (I'm calling it build) and run the following command from there:

cmake ..
make

Note: These instructions are for Mac and Linux, Windows/Visual Studio details coming soon.

Current Features

Core Engine:

  • Keyboard and mouse input mapping
  • First person camera

Rendering:

  • Wavefront (.obj) file loading
  • Vertex and Fragment shaders support
  • Textures support
  • Basic Lighting
  • Phong lighting model
  • Material support

Roadmap

These features are planned to be included very soon.

  • Dynamic shaders management
  • Level import and export

The following features are ambitious, depending on whether I plan to move on to writing the C Vulkan engine or not:

  • Physics
  • Animation
  • Scripting

Demo

Level loading Loading in a complete level from a wavefront file. Also showcases the first person camera.

Phong Lighting Phong lighting on textured object.

Documentation

Refer to the wiki for more information. Also if you are interested in contributing, follow these guidelines.

License

A test game engine with C++ and OpenGL
Copyright (C) 2017  Sadman Kazi

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

See LICENSE for more details.

You can’t perform that action at this time.