Module-based scientific physics engine architecture

A.A. Bernatovych, I.V. Stetsenko

Abstract


The ever-evolving landscape of digital simulations demands innovative frameworks to achieve both realism and efficiency. The research highlights the issues of modern software architecture for physics simulation. The new architecture was developed to mitigate scalability and flexibility issues. The essence of the proposed architecture resides in the convergence of three pivotal concepts: the modular physics engine, the physics pipeline, and the Entity Component System (ECS) pattern. The modular physics engine represents a paradigm shift in simulation design. Compartmentalizing functionalities into modules, this approach fosters flexibility and reusability, enabling efficient construction of specialized simulations. The physics pipeline orchestrates simulations through structured stages, analogous to graphics pipelines. It guides dynamic forces, collisions, and interactions, optimizing resource use and integrating custom systems for accuracy. Complementing these, the ECS pattern decouples data and behavior, facilitating the construction of user defined physical pipeline comprised of loosely coupled modules. Combined with the modular physics engine and physics pipeline, ECS forms a comprehensive approach for complex physics simulations.

Problems in programming 2023; 3: 30-39

 


Keywords


Computer Simulation; Software Architecture; Physics Engine; Physics Pipeline

Full Text:

PDF

References


Bernatovych, А., Stetsenko. I. (2023) Methods and software of physical simulation. Adaptive Systems of Automatic Control 42(1), pp. 130-40. CrossRef

Longshaw, S., Turner, M., Finch, E., Gawthorpe, R. (2010) "Analysing the use of Real-time Physics Engines for Scientific Simulation: Exploring the Theoretical and Practical Benefits for Discrete Element Modelling", ACME 2010 Proceedings of the 18th Annual Conference Annual Conference of the Association of Computational Mechanics in Engineering, Southampton, Association of Computational Mechanics in Engineering, 29-31 Marth 2010. pp. 199-202. doi: 10.13140/2.1.3212.7048.

Mbugua, S. T., Korongo, J. and Mbuguah, S. (2022) On Software Modular Architecture: Concepts, Metrics and Trends. International Journal of Computer & Organization Trends 12(1), 3-10. CrossRef

Wiebusch, D., Latoschik, M. E. "Decoupling the entity-component system pattern using semantic traits for reusable realtime interactive systems", 2015 IEEE 8th Workshop on Software Engineering and Architectures for Realtime Interactive Systems (SEARIS), Arles, France, 2015, pp. 25-32. CrossRef

Smith, B. C. (1982) Procedural reflection in programming languages. Thesis (Ph.D.). Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science.

Liu, F., et el. (2009) 'CUDA renderer: A programmable graphics pipeline', ACM SIGGRAPH Conference and Exhibition on Computer Graphics and Interactive Techniques in Asia. 16-19 December 2009. CrossRef

Zheng, Z, et el. (2020) Hybrid Framework for Simulating Building Collapse and Ruin Scenarios Using Finite Element Method and Physics Engine. Applied Sciences 10(12):4408. CrossRef

He, H., et el. (2019). 'Simulation of Realistic Particles with Bullet Physics Engine', E3S Web of Conferences, 92, 14004. CrossRef

NVIDIA.developer. PhysX. Available at https://developer.nvidia.com/physx-sdk (Accessed 19 August 2023).

Artemis Framework. Available at https://github.com/bsimser/artemis-framework (Accessed 19 August 2023).

EnTT. Available at https://github.com/skypjack/entt (Accessed 19 August 2023)

Nourian, S., et el. (2006) "XPHEVE: An Extensible Physics Engine for Virtual Environments", 2006 Canadian Conference on Electrical and Computer Engineering, Ottawa, ON, Canada, 2006, pp. 1546-1549, CrossRef




DOI: https://doi.org/10.15407/pp2023.03.030

Refbacks

  • There are currently no refbacks.