Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evroon/titan
3D game engine written in C++ using OpenGL
https://github.com/evroon/titan
cplusplus editor game-development game-engine graphics-engine opengl sdl2
Last synced: 17 days ago
JSON representation
3D game engine written in C++ using OpenGL
- Host: GitHub
- URL: https://github.com/evroon/titan
- Owner: evroon
- License: gpl-3.0
- Created: 2017-06-24T19:15:46.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-11-17T16:02:09.000Z (almost 2 years ago)
- Last Synced: 2024-07-30T18:36:51.709Z (4 months ago)
- Topics: cplusplus, editor, game-development, game-engine, graphics-engine, opengl, sdl2
- Language: C++
- Homepage:
- Size: 79.9 MB
- Stars: 15
- Watchers: 2
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Titan Engine
[![build](https://github.com/evroon/titan/actions/workflows/main.yml/badge.svg)](https://github.com/evroon/titan/actions/workflows/main.yml)
[![clang-format](https://github.com/evroon/titan/actions/workflows/clang-format.yml/badge.svg)](https://github.com/evroon/titan/actions/workflows/clang-format.yml)A graphics engine using OpenGL and written in C++.
Preview of the editor:
![alt text](misc/titan_preview.png "Preview of the editor")Features:
- A scripting language, TitanScript, which is fully integrated on a low level into the engine
- Editor
- UI system
- 2D and 3D supportLibraries used:
- SDL 2.0 (including SDL_image, SDL_mixer and SDL_ttf)
- Box2D
- Bullet
- LibNoise
- Assimp
- Glew
- Freeglut
- RapidXML
- FontAwesome3D graphics features:
- Deferred renderer
- GPU terrain tesselation
- Cascaded PCF shadowmapping
- SSAO
- Godrays and lens flare
- Bloom
- Depth of Field
- HDR tonemapping
- Terrain heightmap editing on GPU# Building
Building has been tested on Linux. Windows and Mac OS X are not supported at the moment.## Linux
Building on Linux is possible using CMake. First, make sure that the above libraries are installed. On Debian-based systems, this command can be used:```bash
sudo apt install cmake librapidxml-dev libglew-dev libassimp-dev libnoise-dev libbullet-dev libbox2d-dev \
libsdl2-mixer-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-image-2.0-0 libsdl2-dev
```When the libraries are installed, clone and build the project:
```bash
git clone [email protected]:evroon/titan.git
cd titan/src
cmake ./
cmake --build . -- -j8
```Where the `-j` flag indicates the number of jobs, which is ideally at least as high as the number of cores of your CPU.