Physika
A physics engine capable of simulating a variety of phenomena including rigid body dynamics, deformation of soft body, fluid, collision detection and response, etc.
@authors: Fei Zhu, Wei Chen, Sheng Yang, Tianxiang Zhang, Liyou Xu
@Last update of this file: Wei Chen, 08/31/2017
=============================================================
Build Requirements:
Build Tool: Scons
Platforms: Windows, Linux, MacOS
Language: C++ 11/14 & Cuda
Compiler: GNU G++, MSVC(2015 or newer)
=============================================================
Complilation & Installation:
1: install Python in the way you like.
2: pip install scons
to install scons tool.
3: open the command line window in Physika
root folder, and type scons
to compile all source codes(.cpp & .cu) to lib files in Public_Library. If you are using MSVC, .sln
file would be generated simultaneously.
4: open the command line window in Physika/Physika_Test
folder, and type scons
to generate test projects. If you are using MSVC, .sln
file would be generated simultaneously.
=============================================================
Code Structure:
Documentation: Documentations related to this project, including coding style and development plans. It also contain scons compiler tool for cuda codes.
Public_Library: Public API of Physika.
-
include: Header files generated by Physika after compilation. Any project built on Physika simply needs to include files in this directory.
-
lib: Binary lib files generated by Physika after compilation. It contains two directories that separate libs and dlls for debug/release mode.
Physika_Src: Source code of Physika, including 3rd party libraries that Physika uses. After compilation, header files and binary libraries would be copied to the 2 directories in Public_Library directory.
Physika_Test: Unit or Non-unit test projects for Physika, we employ google_test for unit test.
Projects: Projects built on Physika. Generally they simply need to include necessary header files and link corresponding binaries of Physika.