Skip to content

hugoplanell/Tea-Engine

Repository files navigation

Tea-Engine

Tea Engine is a Beautiful(not yet but it will be) and Cross-platform 3D Game Engine written in C++ using OpenGL and GLFW.

Warning

This is a personal project for learning how to make a 3D game engine.


Getting Started

Any IDE or Text Editor that supports CMake Projects should work for developing the project.

Building

1. Clone the repository

git clone --recursive https://github.com/HugoPlacer/Tea-Engine.git
cd Tea-Engine

2. Compilation

Windows (Not Tested but you should use cmake with vcpkg (easiest way i think is with vs2022))
Linux

1. Install Dependencies

  • Arch Linux
sudo pacman -S spdlog fmt glfw glm assimp
  • Fedora
sudo dnf install spdlog-devel fmt-devel glfw-devel glm-devel assimp-devel
  • Ubuntu
sudo apt-get install libspdlog-dev libfmt-dev libglfw3-dev libglm-dev libassimp-dev

2. Build

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j $(nproc) TeaEditor

3. Enjoy!

cd ../bin/TeaEditor/Release
./TeaEditor

Features (WIP)

  • Compatible with Windows and Linux.
  • 3D Rendering
    • Textures
    • Materials
    • Shaders
    • PBR Rendering
    • Lights
    • Environment
  • Scene System
    • Scene Tree
    • ECS System
    • Model Loading
  • Editor
  • Save And Loading

Screenshots

Tea-Engine Screenshot-1.png Tea-Engine Screenshot-2.png Tea-Engine Screenshot-3.png


Acknowledgements

This project makes use of several open-source libraries and resources that have greatly contributed to its development. Special thanks to the creators and maintainers of the following:

  • spdlog: Fast C++ logging library.
  • GLFW: Library for handling window creation, input, and events.
  • GLM: OpenGL Mathematics library for graphics software.
  • GLAD: Multi-language OpenGL loader-generator.
  • ImGui: Immediate Mode Graphical User Interface for C++.
  • stb_image: Image loading library.
  • assimp: Library to import various well-known 3D model formats.
  • EnTT: Fast and reliable entity-component system (ECS).
  • Tracy: Real-time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler.
  • LearnOpenGL: Comprehensive OpenGL tutorial and resource site.
  • Hazel: A small game engine developed by TheCherno as part of his game engine series.
  • Godot: An advanced, feature-packed, multi-platform 2D and 3D open-source game engine.
  • skypjack on software: Blog and resources on software development by skypjack.

About

Little personal game engine for learning how to make a game engine!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •