An experimental cross-platform game engine created for personal and educational purposes
Ensure dependency submarkmodule in vendor are built with the correct configuration
- Generate project files for configuration (
ReleaseorDebug) by going tovendor/all/bullet3/build3and running:./premake4 --double --enable_multithreading --dynamic-runtime vs2010 - Open
vendor\all\bullet3\build3\vs2010\0_Bullet3Solution.sln - When prompted select to update project files to the latest toolchain version
- Build the
x64static library for these projects:- BulletCollision
- BulletDynamics
- LinearMath
- Bootstrap build tools
./bootstrap - Build static libraries with b2
./b2 --runtime-link=static --toolset=msvc-14.2 --variant=debug --runtime-debugging=on./b2 --runtime-link=static --toolset=msvc-14.2 --variant=release
cmake -D BUILD_SHARED_LIBS=OFF -D ASSIMP_BUILD_ZLIB=ON CMakeLists.txt- Open
Assimp.slnand build both debug and release versions ofALL_BUILD
Event driven render lifecycleBasic 3D Mesh rendering- 2D shape rendering
- UI framework
Basic materialsBasic textures- Support normal maps
- Support displacement maps
- PBR
- SSAO
- Basic shadow mapping
- Multi-threaded physics
- Add built-in
PhysicsComponent - Support collisions using
bulletphysics/bullet3 - Add forces to
PhysicsComponent
Support consistent core and client logging- Support logging to file
Basic template based ECSSupport multiple component combinations per system- Ensure memory locality of ECS components
Emit events for keyboard and mouse input- Support repeated keys
Basic event systemSupport sync and async built-in events- Support custom client events
- Support non-async custom client events
Basic support of common scene/model formats (meshes, textures and materials)- Load normal maps
- Load displacement maps
- Load bones
- Load skeletal animations (depends on loading bones)
- Add premake configuration
- Support OSX builds
