A High-Performance 2D Physics Engine in C ๐ ๏ธ
Celeris is a powerful and efficient 2D physics engine written in C, designed to simulate realistic object interactions in virtual environments. It features robust collision detection, force dynamics, and energy conservation, all within a modular architecture that is easy to integrate into various applications, such as game development and physics simulations.
- Realistic Physics Simulation: Simulates motion, collision, and response of objects with high accuracy. โ๏ธ
- Modular Design: Well-organized structure allows easy customization and extension. ๐งฉ
- Efficient Performance: Optimized for speed, making it suitable for real-time applications. โก
- Comprehensive Documentation: Includes detailed guides for developers and users. ๐
- Unit Testing: Ensures reliability and correctness through extensive tests. โ
- Cross-Platform: Build and run on different operating systems with ease. ๐
Celeris/
โโโ Makefile
โโโ README.md
โโโ assets/
โ โโโ models/
โ โโโ shaders/
โ โโโ textures/
โโโ build/
โโโ docs/
โ โโโ README.md
โ โโโ design_document.md
โ โโโ developer_guide.md
โ โโโ user_guide.md
โโโ include/
โ โโโ body.h
โ โโโ camera.h
โ โโโ collision.h
โ โโโ collision_response.h
โ โโโ constraint.h
โ โโโ force_generator.h
โ โโโ input.h
โ โโโ integration.h
โ โโโ material.h
โ โโโ physics_world.h
โ โโโ renderer.h
โ โโโ timer.h
โ โโโ utils.h
โ โโโ vector.h
โโโ src/
โ โโโ body.c
โ โโโ camera.c
โ โโโ collision.c
โ โโโ collision_response.c
โ โโโ constraint.c
โ โโโ force_generator.c
โ โโโ input.c
โ โโโ integration.c
โ โโโ main.c
โ โโโ material.c
โ โโโ physics_world.c
โ โโโ renderer.c
โ โโโ timer.c
โ โโโ utils.c
โ โโโ vector.c
โโโ tests/
โ โโโ test_body.c
โ โโโ test_collision.c
โ โโโ test_collision_response.c
โ โโโ test_integration.c
โ โโโ test_physics_world.c
โ โโโ test_vector.c
โโโ tools/
โโโ clang-format
โโโ clang-tidy
โโโ valgrind_suppressions.supp
โโโ Dockerfile
- C Compiler: GCC or Clang
- Make: For building the project
- Git: For version control
- CMake (optional): For alternative build configuration
- Clone the Repository:
git clone git@github.com:acmpesuecc/VectorX.git cd celeris - Build the Project: Using Make:
Or using CMake:
make
mkdir build cd build cmake .. make - Run the Tests:
make test
- Include the Engine: Integrate the include/ and lib/ files into your project.
- Link Libraries: Make sure to link against the Celeris static library if you're using external projects.
- Execute: Run the compiled binaries from the bin/ directory.
- Developer Guide: For understanding the architecture and contributing to the project.
- User Guide: For instructions on integrating and using the engine in your projects.
- Design Document: In-depth explanation of the design decisions and system architecture.
We welcome contributions! Please see our Contributing Guide for more details on how to contribute.
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to the open-source community for providing the tools and libraries that made this project possible. Inspiration and techniques drawn from various physics engines and game development resources.
A High-Performance 2D Physics Engine in C ๐ ๏ธ
Celeris is a powerful and efficient 2D physics engine written in C, designed to simulate realistic object interactions in virtual environments. It features robust collision detection, force dynamics, and energy conservation, all within a modular architecture that is easy to integrate into various applications, such as game development and physics simulations.
- Realistic Physics Simulation: Simulates motion, collision, and response of objects with high accuracy. โ๏ธ
- Modular Design: Well-organized structure allows easy customization and extension. ๐งฉ
- Efficient Performance: Optimized for speed, making it suitable for real-time applications. โก
- Comprehensive Documentation: Includes detailed guides for developers and users. ๐
- Unit Testing: Ensures reliability and correctness through extensive tests. โ
- Cross-Platform: Build and run on different operating systems with ease. ๐
Celeris/
โโโ Makefile
โโโ README.md
โโโ assets/
โ โโโ models/
โ โโโ shaders/
โ โโโ textures/
โโโ build/
โโโ docs/
โ โโโ README.md
โ โโโ design_document.md
โ โโโ developer_guide.md
โ โโโ user_guide.md
โโโ include/
โ โโโ body.h
โ โโโ camera.h
โ โโโ collision.h
โ โโโ collision_response.h
โ โโโ constraint.h
โ โโโ force_generator.h
โ โโโ input.h
โ โโโ integration.h
โ โโโ material.h
โ โโโ physics_world.h
โ โโโ renderer.h
โ โโโ timer.h
โ โโโ utils.h
โ โโโ vector.h
โโโ src/
โ โโโ body.c
โ โโโ camera.c
โ โโโ collision.c
โ โโโ collision_response.c
โ โโโ constraint.c
โ โโโ force_generator.c
โ โโโ input.c
โ โโโ integration.c
โ โโโ main.c
โ โโโ material.c
โ โโโ physics_world.c
โ โโโ renderer.c
โ โโโ timer.c
โ โโโ utils.c
โ โโโ vector.c
โโโ tests/
โ โโโ test_body.c
โ โโโ test_collision.c
โ โโโ test_collision_response.c
โ โโโ test_integration.c
โ โโโ test_physics_world.c
โ โโโ test_vector.c
โโโ tools/
โโโ clang-format
โโโ clang-tidy
โโโ valgrind_suppressions.supp
โโโ Dockerfile
- C Compiler: GCC or Clang
- Make: For building the project
- Git: For version control
- CMake (optional): For alternative build configuration
- Clone the Repository:
git clone https://github.com/yourusername/celeris.git cd celeris - Build the Project: Using Make:
Or using CMake:
make
mkdir build cd build cmake .. make - Run the Tests:
make test
- Include the Engine: Integrate the include/ and lib/ files into your project.
- Link Libraries: Make sure to link against the Celeris static library if you're using external projects.
- Execute: Run the compiled binaries from the bin/ directory.
- Developer Guide: For understanding the architecture and contributing to the project.
- User Guide: For instructions on integrating and using the engine in your projects.
- Design Document: In-depth explanation of the design decisions and system architecture.
We welcome contributions! Please see our Contributing Guide for more details on how to contribute.
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to the open-source community for providing the tools and libraries that made this project possible. Inspiration and techniques drawn from various physics engines and game development resources.