All Projects → antverdovsky → Honeycomb-Game-Engine

antverdovsky / Honeycomb-Game-Engine

Licence: MIT license
3D Game Engine written in C++ using OpenGL.

Programming Languages

C++
36643 projects - #6 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to Honeycomb-Game-Engine

inanity
Cross-platform C++ game engine.
Stars: ✭ 28 (-9.68%)
Mutual labels:  graphics-engine, game-engine-3d
Yggdrasil-Legacy
Experimental Vulkan Renderer / Game Engine written in C++20.
Stars: ✭ 20 (-35.48%)
Mutual labels:  graphics-engine, rendering-engine
3D interactive graphics rendering engine
Develop a 3D interactive graphics rendering engine
Stars: ✭ 31 (+0%)
Mutual labels:  graphics-engine, rendering-engine
Overload
3D Game engine with editor
Stars: ✭ 335 (+980.65%)
Mutual labels:  graphics-engine, rendering-engine
ElkEngine
Simple graphics engine used as submodule in many of my projects
Stars: ✭ 54 (+74.19%)
Mutual labels:  graphics-engine, rendering-engine
Blue Flame Engine
A 3D/2D game engine that supports both DirectX11 and OpenGL 4.5
Stars: ✭ 129 (+316.13%)
Mutual labels:  graphics-engine, rendering-engine
browsengine
Engine Detection Script for Browsers on Any Device
Stars: ✭ 17 (-45.16%)
Mutual labels:  rendering-engine
LittleEngineVk
3D game engine using C++20 and Vulkan (WIP)
Stars: ✭ 87 (+180.65%)
Mutual labels:  game-engine-3d
RavEngine
A fast, easy to use C++20 3D game library for modern computers
Stars: ✭ 122 (+293.55%)
Mutual labels:  graphics-engine
ioq3
The ioquake3 community effort to continue supporting/developing id's Quake III Arena
Stars: ✭ 2,067 (+6567.74%)
Mutual labels:  game-engine-3d
nautilus
another graphics engine
Stars: ✭ 16 (-48.39%)
Mutual labels:  graphics-engine
GITechDemo
Global illumination technical demo - a continuation of the Synesthesia3D (ex-LibRenderer) graphics engine used in https://github.com/iftodebogdan/ShaderEditor
Stars: ✭ 45 (+45.16%)
Mutual labels:  graphics-engine
DrawSpace
Space-game oriented rendering engine
Stars: ✭ 20 (-35.48%)
Mutual labels:  rendering-engine
PiE
A simple lightweight Game Engine built on SDL2 GLEW and (soon) OpenAL (currently using Port Audio instead). Written in C++
Stars: ✭ 18 (-41.94%)
Mutual labels:  game-engine-3d
roc engine
Simple and light-weight 3D game engine
Stars: ✭ 49 (+58.06%)
Mutual labels:  game-engine-3d
GroundEngine
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++
Stars: ✭ 61 (+96.77%)
Mutual labels:  game-engine-3d
dry
Dry is a new template engine and language, and is a superset of Shopify's Liquid, with first-class support for advanced inheritance features, and more. From the creators of Enquirer, Assemble, Remarkable, and Micromatch.
Stars: ✭ 66 (+112.9%)
Mutual labels:  rendering-engine
blendmaxwell
Maxwell Render exporter for Blender
Stars: ✭ 23 (-25.81%)
Mutual labels:  rendering-engine
Legion-Engine
Rythe is a data-oriented C++17 game engine built to make optimal use of modern hardware.
Stars: ✭ 502 (+1519.35%)
Mutual labels:  rendering-engine
Syndra
3D Game Engine/Renderer
Stars: ✭ 40 (+29.03%)
Mutual labels:  rendering-engine

Honeycomb

Introduction

picture alt Honeycomb is a 3D Game Engine written from scratch in C++ using OpenGL. It is not a game engine which is designed to rival any current game engines, but is rather my own object oriented abstraction of the OpenGL functions. I have been writing this engine purely for practice and for fun, but it may still be possible to create a fully featured game in the future using this engine.

Installation

Remark

Due to the vast differences in graphics hardware and drivers, I cannot guarantee the engine will function correctly on your machine. For best compatibility, you should update your graphics drivers to their most recent versions, and ensure that you have the latest OpenGL and GLSL versions available.

Fetch

Either fork or clone this repository. For the purposes of this manual, the folder you acquired is referred to as the Honeycomb master directory. It contains the Honeycomb Library as well as a small Test Game executable.

Resource Files

The Honeycomb library and its Test Game executable require a set of resource files in order to function correctly. In order to not pollute this GitHub repository, the files are not included on this repo, but may be acquired from this Dropbox link. Once downloaded, simply place the contents of the folder into the Honeycomb master directory.

Note on Resources: Even if you do not wish to use Honeycomb with any of its default 3D models or 2D textures, you must still acquire the resources since the Deferred Renderer utilizes rendering lights via rendering 3D models, which are included in the resource folder. Without these resources, the engine cannot render anything and will most likely crash.

Dependencies

Honeycomb is dependent on the following external libraries (link to where you might acquire each library is included):

It is also recommended that you acquire CMake since it will make building the engine a lot easier. For the dependent libraries, you should fetch the developer versions. Acquire them using your favorite package manager. An example is provided for acquiring all of the dependencies on Ubuntu:

sudo apt-get install cmake libglew-dev libglfw3-dev libassimp-dev libsoil-dev

Build

Linux

Navigate to the Honeycomb master directory and run the following commands in your Terminal:

chmod +x buildUNIX.sh
./buildUNIX.sh

If all steps were done correctly up to this point, the Honeycomb Library should be automatically built and linked to the Test Game executable. To run the executable, execute the following commands in the same Terminal window:

cd executable
./HoneycombTestGame

Windows

Coming Soon...

macOS

Coming Soon...

Implemented Features

  • 3D Model Loading (through ASSIMP)
  • 3D Mesh Rendering
  • 3D Mesh Transformation
  • Camera Support
  • Component Support
  • Cubemaps and Skyboxes
  • Deferred Renderer
  • Fast Approximate Anti Aliasing (FXAA)
  • Game Object Support
  • Gamma Corrected and Linear Color Spaces
  • Lighting Support
    • Ambient Light
    • Directional Light
    • Point Light
    • Spot Light
    • Specular Reflections
  • Math Support: Vector, Matrix, Quaternions
  • Normal/Bump Mapping
  • Scene Hierarchy
  • Shader Support
    • Full integration with GLSL Shaders
    • Ability to parse GLSL Structs into Honeycomb Components
    • Auto detection and addition of uniform names to OpenGL
  • Specular Mapping
  • Transformation Hierarchy

and a lot more...

Features to be Implemented

  • Bloom
  • Deferred Light Pre Pass Renderer
  • Exception Handling
  • Forward Renderer
  • Geometry Shader Support
  • HDR
  • Intancing
  • Physically Based Rendering
  • Physics Engine (likely using Bullet)
  • SSAO
  • Shadow Mapping
  • Transparency

and a lot more...

License

This entire project has been written using the MIT License. Feel free to borrow, use, or enlighten yourself with any of the code found on this repository.

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].