Game engine study project developed by KNTG Polygon, licensed under a permissive MIT license.
Currently it is in an early stage of development, thus backwards compatibility is not guaranteed.
- Windows 7+ with MSVC compiler (Visual Studio 2017, toolset v141 with SDK 8.1)
- Linux with both GCC and/or Clang compilers (editor unsupported)
- macOS with Clang compiler (rendering unsupported until we switch to Vulkan)
PolyEngine currently uses OpenGL 4.3+ only, but might gain support for other graphic
APIs (DirectX, Vulkan, Metal) in the future.
Alomost all dependancies are provided by submodules and are placed in PolyEngine/ThirdParty
folder. Only Qt needs to be installed separately. They are:
- Assimp - model loading
- Box2D - 2D physics backend
- Bullet - 3D physics backend
- Catch - unit tests framework
- Freetype - font loading and rendering
- OGG Vorbis - audio files loading
- OpenAL - audio playback
- OpenGL 4.3 - rendering backend
- RapidJSON - JSON parser
- SDL2 - window management
- stb - texture loading (stb_image)
- Qt 5.10.1 - editor frontend
Our wiki contains guides on how to setup the engine. Each OS is a bit different:
Example projects are available in the examples repository.
Documentation in Doxygen HTML format is available here.
- master - main branch of the project, intended for stable, tested versions of the engine. Releases will be additionally tagged. Guaranteed to be rebase/force-push free.
- dev - branch intended for pull request integration and stability testing. Guaranteed to be rebase/force-push free.
Other branches can be removed, renamed or rebased anytime.