https://github.com/stablecoder/foe-engine
Engine focused around being modular and data-oriented design principles, allowing for highly multithreaded and low-latency data processing for VR/XR environments.
https://github.com/stablecoder/foe-engine
c cpp cpp14 cpp17 cpp20 data-oriented data-oriented-architecture data-oriented-design data-oriented-programming linux macos multithreading openxr virtual-reality vulkan windows xr
Last synced: 20 days ago
JSON representation
Engine focused around being modular and data-oriented design principles, allowing for highly multithreaded and low-latency data processing for VR/XR environments.
- Host: GitHub
- URL: https://github.com/stablecoder/foe-engine
- Owner: StableCoder
- License: apache-2.0
- Created: 2020-10-25T23:43:33.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-11T00:05:07.000Z (about 2 months ago)
- Last Synced: 2025-04-10T00:14:42.077Z (20 days ago)
- Topics: c, cpp, cpp14, cpp17, cpp20, data-oriented, data-oriented-architecture, data-oriented-design, data-oriented-programming, linux, macos, multithreading, openxr, virtual-reality, vulkan, windows, xr
- Language: C++
- Homepage:
- Size: 5.17 MB
- Stars: 22
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FoE-Engine
[](https://git.stabletec.com/foe/engine/commits/main)
[](https://git.stabletec.com/foe/engine/blob/main/LICENSE)- [External Libraries](#external-libraries)
- [macOS Environment Setup](#macos-environment-setup)## External Libraries
- [Assimp](http://assimp.org/) - An open-source mesh loading/saving library for many formats.
- [Bullet Physics](https://pybullet.org) - Physics simulation for games, visual effects, robotics and reinforcement learning.
- [CLI11](https://github.com/CLIUtils/CLI11) - A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
- [Dear ImGui](https://github.com/ocornut/imgui) - Easy to use immediate mode UI.
- [FreeImage](http://freeimage.sourceforge.net/) - Library for loading/saving and working on images.
- [fmt](https://github.com/fmtlib/fmt) - Library for excellent string formatting.
- [GLFW](https://www.glfw.org/) - An Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.
- [glm](https://glm.g-truc.net/) - A header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.
- [GPUOpen Vulkan memory Allocator](https://gpuopen.com/gaming-product/vulkan-memory-allocator/) - A Vulkan Memory Allocation helper library. License: MIT.
- [libevent](https://libevent.org/) - The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts.
- [libsodium](https://libsodium.org) - A modern, easy-to-use software library for encryption, decryption, signatures, password hashing, and more.
- [OpenXR](https://www.khronos.org/OpenXR/) - VR/XR API
- [Vulkan](https://www.vulkan.org/) - Graphics API
- [yaml-cpp](https://github.com/jbeder/yaml-cpp) - Library for easy read/write for Yaml data.### macOS Environment Setup
For the Vulkan/MoltenVK, get the VulkanSDK from LunarG.
For everything else, use Homebrew and get the following:
```sh
brew install assimp bullet cmake catch2 freeimage fmt glfw glm libevent libsodium yaml-cpp
```