Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/valentindeaconu/vd_game_engine
C++ 3D Open World Game Engine using OpenGL.
https://github.com/valentindeaconu/vd_game_engine
game-engine open-world under-development
Last synced: 21 days ago
JSON representation
C++ 3D Open World Game Engine using OpenGL.
- Host: GitHub
- URL: https://github.com/valentindeaconu/vd_game_engine
- Owner: valentindeaconu
- License: gpl-3.0
- Created: 2020-05-06T11:49:13.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-10-20T17:11:39.000Z (about 2 years ago)
- Last Synced: 2024-04-11T10:53:58.531Z (9 months ago)
- Topics: game-engine, open-world, under-development
- Language: C++
- Homepage:
- Size: 92.2 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Description
C++ 3D Open World Game Engine using OpenGL.
## Installation
Note*: Project is developed (respectively tested) under Windows 10 and Ubuntu 20.04 LTS.Requirements:
1. cmake >= 3.13
2. C++20 (VC++ >= 2012 or GCC >= 9)
3. python >= 3.8
4. (UNIX) xorg-dev libglu1-mesa-dev build-essential libXmu-dev libXi-dev libgl-devSteps for the installation:
1. Clone the repository.
2. Open a command line and navigate to the repository root folder.
3. Run `./build.py --update` (this process may take a while)
* On Windows you have to select proper library for your compiler from `LIBRARY glfw/*//* /` instruction in `archive.json`. Choose one of the following supported by GLFW library: `lib-mingw-w64 lib-vc2012 lib-vc2013 lib-vc2015 lib-vc2017 lib-vc2019`.## Libraries used
* [OpenGL](https://www.opengl.org/)
* [GLEW](http://glew.sourceforge.net/)
* [GLFW](https://www.glfw.org/)
* [glm](https://glm.g-truc.net/0.9.9/index.html)
* [tinyobjloader](https://github.com/tinyobjloader/tinyobjloader)
* [stb_image](https://github.com/nothings/stb/blob/master/stb_image.h)
* [boost](https://www.boost.org/)
* [FreeType](https://www.freetype.org/)## Features
* [SOLID](https://en.wikipedia.org/wiki/SOLID) architecture written with [PascalCase](https://wiki.c2.com/?PascalCase) and [Hungarian notation](https://en.wikipedia.org/wiki/Hungarian_notation).
* Quad-tree terrain with dynamic tessellation, multi-texturing, heights, normals, displacement and bump normals.
* Biome System (up to 32 biomes, with possibility to combine multiple biome)
* Props and Prop generator with possibility to spawn a certain object in a certain biome and multiple level of details
* Skybox
* Free Camera and 3rd Person Camera (switchable at run-time)
* Player object with following basic movement: forward, backward, left, right, jumping with gravity and collision with the terrain
* Multiple lights (point lights and directional lights)
* Shadows (Shadow Mapping)
* Support for GUI Textures and Texts
* Water with DuDv and Normal maps and Fresnel effect
* Frustum Culling
* Wireframe Mode
* Post-Rendering Effects (Depth of Field effect)
* Day-night cycle with an amazing [texture pack](https://assetstore.unity.com/packages/2d/textures-materials/sky/10-skyboxes-pack-day-night-32236#description)
* Lens Flare with Occlusion Culling## Project Board
Available on [Trello](https://trello.com/b/lx9Ny7u6/vdge).
## Goals
* Average of 50-60 fps
* No frame drops## Authors
* **Lucian-Valentin Deaconu**
## Thanks to
* [ThinMatrix](https://www.youtube.com/watch?v=VS8wlS9hF8E&list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP) - tutorials
* [OreonEngine](https://github.com/fynnfluegge/oreon-engine) - terrain, some resources
* [LearnOpenGL](https://learnopengl.com/) - tutorials