Why?
Vesper 3D (the Vertical Structure Physics layER 3D) was my postgraduate thesis for my Master's course in the University of Pireus.
The conception of the project was a plugin to an existing software architecture caled ReveWorlds, but quickly outgrew the idea and I ended up developing a plugin - based physics calculations system that essentially aimed to be a collection of physics laws that a developer would create and compile independently, and then add to the core engine practically at runtime. Several physics laws realizing Newtonian Motion, Gravity Fields, N-Body Gravity, Electromagnetism, Springs and a basic Collision Detection system were developed.
An OpenCL version of the N-Body Gravity laws has been created and run with spectacular increases in performance.
An OpenCL version of the N-Body Gravity laws has been created and run with spectacular increases in performance.
The good...
Key point of interest :
- Very loose communication of components (the base system that forms the middleware of communication is actually completely agnostic of any physical property).
- Physics laws are actually a simple .dll each, creating no requirements on the system, and use physical properties of objects as they find them.
- The application itself can add physical properties to objects at will and registers them with the main middleware, and they will only be utilized if physics laws recognize them
- Almost zero overhead : The core system is so lightweight, that had absolutely no impact on framerates, meaning that its performace impact is completely up to the physics laws developers.
The bad...
Disadvantages:- No kind of built -in hierarchy - in its basic form, the physics laws normally only recognize 3 kinds of primitives: point, joint between two points and surface between 3 points, making the system completely "flat" (that does not mean that physics laws operating on hierarchies could not be written).
- Very low-level: In its basic form, Vesper3D does pretty nothing but add the connecting point, the "glue" between a simulation requiring physics, and a suite of physics laws.
The 100 page thesis is all in Greek, and has not been translated. The demo is a .bat file that demonstrates the test cases that were presented for the Postgraduate thesis presentation. The test cases used in object deformation simulate bodies as point masses interconnected by springs and surfaces.
Link (direct download to the executable demo that was used in the postgraduate dissertation). At the moment no direct interface to the engine is provided, and the content is static and only dependent on the initial conditions of the scenario read from ini-like files.
No comments:
Post a Comment