All Projects → Tristeon → Tristeon3d

Tristeon / Tristeon3d

Licence: mit
A 3D Engine built by two Game Engineering students.

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Tristeon3d

Flingengine
A Vulkan game engine with a focus on data oriented design
Stars: ✭ 239 (+251.47%)
Mutual labels:  cmake, engine, vulkan
CLUSEK-RT
Vulkan based C++ ray-tracing game engine.
Stars: ✭ 24 (-64.71%)
Mutual labels:  cmake, engine, vulkan
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+4173.53%)
Mutual labels:  engine, vulkan
Gameplay
Open-source, cross-platform, C++ game engine for creating 2D/3D games.
Stars: ✭ 3,429 (+4942.65%)
Mutual labels:  engine, vulkan
Lockstepengine
A lockstep solution include lots of deterministic library (Math,Collision,Navmesh,BehaviorTree,Serialization ...)
Stars: ✭ 376 (+452.94%)
Mutual labels:  serialization, engine
SFE-Engine
A real time renderer based on Vulkan(LWJGL).
Stars: ✭ 20 (-70.59%)
Mutual labels:  engine, vulkan
Vulkust
An engine for Vulkan in Rust, tries to implement modern graphic features. (suspended for now)
Stars: ✭ 64 (-5.88%)
Mutual labels:  engine, vulkan
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+392.65%)
Mutual labels:  cmake, engine
goma-engine
A simple C++ 3D game engine with Vulkan support.
Stars: ✭ 34 (-50%)
Mutual labels:  engine, vulkan
Gainput
Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
Stars: ✭ 636 (+835.29%)
Mutual labels:  cmake, engine
Island
🌋🐎 Project Island is an experimental, hot-reloading Vulkan renderer/proto-engine for Linux, written in C/C++.
Stars: ✭ 441 (+548.53%)
Mutual labels:  engine, vulkan
Spartanengine
Game engine with an emphasis on architectual quality and performance
Stars: ✭ 869 (+1177.94%)
Mutual labels:  engine, vulkan
Yggdrasil-Legacy
Experimental Vulkan Renderer / Game Engine written in C++20.
Stars: ✭ 20 (-70.59%)
Mutual labels:  engine, vulkan
osre
An open source render engine
Stars: ✭ 95 (+39.71%)
Mutual labels:  engine, vulkan
Wasabi
Wasabi Vulkan Game Engine
Stars: ✭ 34 (-50%)
Mutual labels:  engine, vulkan
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+5382.35%)
Mutual labels:  cmake, vulkan
Vulkan2drenderer
Easy to use 2D rendering engine using Vulkan API as backend.
Stars: ✭ 60 (-11.76%)
Mutual labels:  engine, vulkan
shellbear.me
Source code of my personal website and blog ✨
Stars: ✭ 177 (+160.29%)
Mutual labels:  portfolio, showcase
vkOpenArena
Old games never die, they just fade away...
Stars: ✭ 58 (-14.71%)
Mutual labels:  engine, vulkan
Vulkandemos
Some simple vulkan examples.
Stars: ✭ 413 (+507.35%)
Mutual labels:  engine, vulkan

Tristeon 3D

Tristeon 3D is an open source game engine built from scratch in C++ by two game engineering students.

This project is now archived as it is no longer in active development in favor of https://github.com/tristeon/tristeon.

screenshot of the editor

Features

  • Modular and clean engine framework
  • Entity-component system
  • Fully documented
  • Serialization
    • In-house type introspection
    • Scenes/Objects stored as json objects
    • Simple data (de)serialization
  • Rendering
    • Forward rendering
    • Vulkan backend
    • Procedural shader properties
    • PBR Lighting
    • Albedo, AO, Metallic and roughness mapping
    • 3D Mesh rendering
    • Visual debugging tools
    • Skybox rendering
  • Editor
    • Asset browser
    • Scene editor
    • GameObject hierarchy
    • Object inspector
  • Scene management
    • Saving
    • Loading
    • Editing
  • Input
    • Mouse/keyboard support
    • Built in key/button mapping
  • Over 40 mesh file formats including FBX, OBJ, 3DS and blend
  • Supported image formats: JPG, PNG, TGA, BMP, PSD and more

Getting started

You wish to try out Tristeon 3D? Great! Here's two ways to get started:

Pre-built

If you're just looking to test out Tristeon's current features without diving too much into the C++ side, then it'd be a good idea to go to the latest release: https://github.com/Tristeon/Tristeon3D/releases/tag/v1.0.0-pre-alpha

CMake project

Tristeon3D uses CMake to configure the project. Please configure and build the project according to the CMake guidelines. We recommend to place the build folder outside of the repository as none of the IDE/compiler specific information needs to be shared across clients. Officially confirmed configurations:

  • MSVC Visual Studio 2017 | x64
  • GCC MingW-w64 | x64

If you do not hav the Vulkan SDK installed, make sure to install it to allow for additional debugging. You can get it here: https://vulkan.lunarg.com/

To run the project, select your desired build configuration:

  • Debug: Build (no editor) with debug symbols.
  • Release: Build (no editor) without debug symbols, optimized.
  • DebugEditor: Editor application with debug symbols.
  • Editor: Editor application without debug symbols, but with logging.

Why this project?

Tristeon is a hobby/learning/portfolio project of Tristan Metz and Leon Brands. The project started as a 5 month school project with as focus to extend/improve our engine development skills and knowledge. As of now, it's being maintained and updated as a pure hobby and portfolio project.

Roadmap

Near future:

  • In-engine shader compilation
  • Full shader reflection with complete type support
  • Rendering framework redesign
  • Debug draw manager optimizations + extended features
  • Dragging/dropping (file)items into the inspector
  • In-house physics engine implementation

Planned (editor/serialization):

  • Optimized component serialization
  • Automized serialization
  • In-Editor console logging
  • Scene view object selection
  • Renaming items
  • Serialization wrappers for ease of use
  • Custom type editors

Planned (rendering/engine):

  • Rework engine sub-systems into a module based system, allowing the user to add/remove modules at will
  • Image based lighting
  • Controllable point/spot/directional lights
  • Shadow mapping
  • Preview renderer for materials, meshes and images
  • Normal mapping
  • Image effect system

Known bugs

  • #1 Scene view won't display properly until the engine's game mode has been run at least once.
  • #2 Asset browser deletion doesn't delete file
  • #3 Material changes don't always get applied
  • #4 Camera doesn't exist until pressing it (after scene load)
  • #5 New folders won't display until you reload the engine
  • #6 Material properties won't get applied properly with vectors
  • #7 The inspector breaks when there's multiple properties with the same name (e.g. having multiple Vector3s, their subcomponents are called the same)
  • #8 DebugDrawManager only ever uses the color from the last add...() call
  • #9 Editor doesn't recognize engine filetypes correctly when they haven't been created in-engine. Will default to AssetItem
  • #10 Deleting a component also deletes each component below said component
  • #11 The editor camera loses control at the minimum zoom distance
  • #12 The editor camera may flip, causing controls to be inverted

Showcase

Watch the showcase video here: https://www.youtube.com/watch?v=6kVTGHOJu-E Screenshot of the showcase video

Authors

Leon Brands - Engine/graphics programmer (https://leonbrandsprogrammer.wordpress.com/)

Tristan Metz - Engine tool programmer (https://tristanmetz.software/)

Contribute

We'd love your help! You can contribute to the development of Tristeon by:

  • Submitting an issue
  • Submitting a pull request

Credits

Tristeon uses the following third-party libraries:

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