This repository serves as a foundation for my experimental game and software development projects. It includes the following components:
- 3D Math Implementation using SIMD
- Debug Drawing Utilities
- Custom Memory Allocator
- Basic Boilerplate for Experimental Projects
This project includes a highly optimized 3D math library that leverages SIMD (Single Instruction, Multiple Data) instructions to significantly improve performance in math-heavy operations common in game development and graphics programming. This library provides essential mathematical functions and data structures for tasks such as vector and matrix manipulation, transformations, and more.
Debugging complex applications can be challenging. To ease the process, we've integrated a Set of debug drawing utilities into this project. These utilities allow you to visualize important information, such as bounding boxes, collision shapes, or even custom debug information directly in your application's rendering context.
Efficient memory management is crucial for high-performance applications. This project includes a custom memory _allocator designed to efficiently manage memory within the engine. It provides features like memory pooling, alignment control, and optimized allocation strategies, helping you reduce memory fragmentation and improve overall performance.
Starting a new project from scratch can be time-consuming. This repository includes a basic boilerplate that provides a starting point for your experimental projects. It sets up essential components such as a rendering context, input handling, and project structure, allowing you to focus on the unique aspects of your project without reinventing the wheel.
To get started with this project, follow these steps:
- Clone the repository to your local machine.
- Ensure you have the necessary dependencies installed (e.g.,
GLFW
,glad
,cmake
,mingw
,cppvs
). cd build && cmake .. && make
This project relies on the following third-party libraries:
- stb_easy_font - License information for this library can be found in the respective repository.
- GLFW - GLFW is distributed under the zlib/libpng license.
- glad - License information for glad can be found in the
LICENSE
file within theglad
directory.
Please review the licenses of these libraries before using this project in your own applications.
We welcome contributions to improve and expand this project. Feel free to submit issues, pull requests, or suggestions to help us enhance this foundation for game and software development.
This project is licensed under the MIT License - see the LICENSE file for details.