Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thejustinwalsh/defold-xmath
Defold Math eXtension Library that avoids allocations
https://github.com/thejustinwalsh/defold-xmath
defold defold-native-extension game lua
Last synced: about 2 months ago
JSON representation
Defold Math eXtension Library that avoids allocations
- Host: GitHub
- URL: https://github.com/thejustinwalsh/defold-xmath
- Owner: thejustinwalsh
- License: mit
- Created: 2021-10-17T17:23:33.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-27T01:56:41.000Z (11 months ago)
- Last Synced: 2024-10-25T09:48:43.493Z (about 2 months ago)
- Topics: defold, defold-native-extension, game, lua
- Language: C++
- Homepage: https://thejustinwalsh.com/defold-xmath/
- Size: 2.48 MB
- Stars: 28
- Watchers: 5
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-defold - xMath - imagining of vmath functions that avoid allocations. (Libraries / Programming Language)
README
# xMath Extension
> Defold Math Library ❌ ~~allocations~~A re-imagining of vmath functions that avoid allocations by taking the output as the first argument instead of returning a new Vector3, Vector4, or Quat requiring an allocation.
```lua
go.property("dir", vmath.vector3(0, 1, 0))-- allocate v once and reuse each update
local v = vmath.vector3();function update(self, dt)
local pos = go.get_position();xmath.mul(v, self.dir, 5 * dt); -- save 1 allocation
xmath.add(v, pos, v); -- save 2 allocationsgo.set_position(v);
end
```## Demo
https://thejustinwalsh.com/defold-xmath/