Abstract
We describe an example of using a Geometric Algebra algorithm to compute motion in a game physics engine, we optimise the Geometric Algebra algorithm using GAALOP and utilise RISC-V Vector Extensions (RVV) to perform computations on vectors, we combine this with vectors used to represent a number of Fourier series to model x, y and z components of gravity, wind and surface friction. When RISC-V Vector Extension devices become available, we anticipate this method will lead to performance improvements over alternative approaches.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
See Sect. 3.2 of [7].
References
GitHub repository for code examples for the paper Game Physics Engine Using Optimised Geometric Algebra RISC-V Vector Extensions Code Using Fourier Series Data. https://github.com/ed-uts/GA-Game-Physics-Engine. Accessed 05 Aug 2023
Lengyel, E.: Foundations of game engine development. Terathon Software LLC (2016). https://books.google.com.au/books?id=9
Dorst, L.: The representation of rigid body motions in the conformal model of geometric algebra (2008)
Selig, J., Bayro-Corrochano, E.: Rigid body dynamics using Clifford algebra. Adv. Appl. Clifford Algebras 20, 141–154 (2010)
Hitzer, E., Lavor, C., Hildenbrand, D.: Current survey of Clifford geometric algebra applications. Math. Meth. Appl. Sci. (2022)
GAALOP Website. https://www.gaalop.de. Accessed 05 Aug 2023
Hildenbrand, D.: The power of geometric algebra computing: for engineering and quantum computing (2021)
Hildenbrand, D.: Introduction to geometric algebra computing (2020)
Hildenbrand, D.: Foundations of geometric algebra computing (2012)
Wörsdörfer, F., Stock, F., Bayro-Corrochano, E., Hildenbrand, D.: Optimizations and performance of a robotics grasping algorithm described in geometric algebra (2009)
About RISC-V - RISC-V International RISC-V is a free and open ISA enabling a new era of processor innovation through open standard collaboration. https://riscv.org/about. Accessed 05 Aug 2023
RISC-V V Vector Extension Specification GitHub repository. https://github.com/riscv/riscv-v-spec. Accessed 05 Aug 2023
RISC-V V Vector Extension Specification v1.0. https://github.com/riscv/riscv-v-spec/releases/download/v1.0/riscv-v-spec-1.0.pdf. Accessed 05 Aug 2023
Marks II, R.: Handbook of Fourier Analysis and Its Applications. Oxford University Press, Oxford (2009). https://doi.org/10.1093/oso/9780195335927.001.0001
Hollingsworth, M.: Applications of the Fourier series (2008)
Schmitt, R., Fritz, P.: OP5 - A 3D-Fourier-descriptor approach to compress and classify 3D imaging data (2009)
Rosenhahn, B., Perwass, C., Sommer, G.: Pose estimation of 3D free-form contours. Int. J. Comput. Vis. 62, 267–289 (2005). https://doi.org/10.1007/s11263-005-4883-3
Rosenhahn, B.: Pose estimation revisited. Christian-Albrechts-Universitat, Kiel (2003)
Li, H., Hartley, R.: New 3D Fourier descriptors for genus-zero mesh objects (2006)
ChatGPT. https://chat.openai.com. Accessed 05 Aug 2023
https://github.com/ed-uts/GA-Game-Physics-Engine/tree/main/terrain. Accessed 05 Aug 2023
May The Forque Be With You. https://bivector.net/PGADYN.html. Accessed 05 Aug 2023
Bivector.Net. https://bivector.net. Accessed 05 Aug 2023
Ganja.js. https://enki.ws/ganja.js/examples/coffeeshop.html#irAoiHVhn. Accessed 05 Aug 2023
De Keninck, S.: ganja.js. (Zenodo 2020). https://zenodo.org/record/3635774
QEMU A generic and open source machine emulator and virtualizer. https://www.qemu.org. Accessed 05 Aug 2023
RISC-V Vector Extension Intrinsic Document. https://github.com/riscv-non-isa/rvv-intrinsic-doc. Accessed 05 Aug 2023
RISC-V GNU Compiler Toolchain. https://github.com/riscv-collab/riscv-gnu-toolchain. Accessed 05 Aug 2023
MachineWare GmbH. https://www.machineware.de. Access 05 Aug 2023
MachineWare SIM-V. https://www.machineware.de/pages/products.html. Accessed 05 Aug 2023
Acknowledgements
This research is partly supported by an Australian Government Research Training Program Scholarship.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix
Code Listing for GAALOPScript Code

Code Listings for C Code Generated by GAALOP Making Use of RISC-V Vector Extension Instructions, Assembler Code Calling RISC-V Vector Extension Instructions for Vector Multiplication and Sum, and Makefile



Code Listing for C Code Using a Bitmask to Mask Vector Values and Makefile


Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Saribatir, E. et al. (2024). Game Physics Engine Using Optimised Geometric Algebra RISC-V Vector Extensions Code Using Fourier Series Data. In: Sheng, B., Bi, L., Kim, J., Magnenat-Thalmann, N., Thalmann, D. (eds) Advances in Computer Graphics. CGI 2023. Lecture Notes in Computer Science, vol 14498. Springer, Cham. https://doi.org/10.1007/978-3-031-50078-7_20
Download citation
DOI: https://doi.org/10.1007/978-3-031-50078-7_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-50077-0
Online ISBN: 978-3-031-50078-7
eBook Packages: Computer ScienceComputer Science (R0)