All Projects → nfrechette → Rtm

nfrechette / Rtm

Licence: mit
Realtime Math

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Rtm

Dmitrysengine
[abandoned] C99 cross-platform 3D game engine with absolute minimum of external dependencies
Stars: ✭ 119 (-68.1%)
Mutual labels:  game-development, game-engine, math
Handmade Math
A simple math library for games and computer graphics. Compatible with both C and C++.
Stars: ✭ 517 (+38.61%)
Mutual labels:  game-development, game-engine, math
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (-10.19%)
Mutual labels:  game-development, game-engine
Stride
Stride Game Engine (formerly Xenko)
Stars: ✭ 3,524 (+844.77%)
Mutual labels:  game-development, game-engine
Glide
Game engine for making 2d games on iOS, macOS and tvOS, with practical examples and tutorials
Stars: ✭ 353 (-5.36%)
Mutual labels:  game-development, game-engine
Blueshiftengine
Blueshift is a cross-platform 3D game engine implemented in C++. it's free, open-source, and works on Windows, macOS, iOS, and Android. The project is currently in an early stage of development.
Stars: ✭ 347 (-6.97%)
Mutual labels:  game-development, game-engine
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (+773.46%)
Mutual labels:  game-development, game-engine
Mango
mango fun framework
Stars: ✭ 343 (-8.04%)
Mutual labels:  simd, math
hlml
vectorized high-level math library
Stars: ✭ 42 (-88.74%)
Mutual labels:  math, simd
Godex
Godex is a Godot Engine ECS library.
Stars: ✭ 307 (-17.69%)
Mutual labels:  game-development, game-engine
Mxengine
C++ open source 3D game engine
Stars: ✭ 284 (-23.86%)
Mutual labels:  game-development, game-engine
Urho3d
Cross-platform 2D and 3D game engine
Stars: ✭ 3,767 (+909.92%)
Mutual labels:  game-development, game-engine
Godot Power Pitch
International pitch for the Godot Game Engine, made in Godot, available in 15+ languages
Stars: ✭ 348 (-6.7%)
Mutual labels:  game-development, game-engine
Ggez
Rust library to create a Good Game Easily
Stars: ✭ 3,120 (+736.46%)
Mutual labels:  game-development, game-engine
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-25.47%)
Mutual labels:  game-development, game-engine
Gamedevelopmentlinks
This is a collection of useful game-development links including, but not restricted to, development with MonoGame.
Stars: ✭ 257 (-31.1%)
Mutual labels:  game-development, game-engine
Defaultecs
Entity Component System framework aiming for syntax and usage simplicity with maximum performance for game development.
Stars: ✭ 286 (-23.32%)
Mutual labels:  game-development, game-engine
Games
🎮 A list of popular/awesome video games, add-ons, maps, etc. hosted on GitHub. Any genre. Any platform. Any engine.
Stars: ✭ 18,676 (+4906.97%)
Mutual labels:  game-development, game-engine
SCNMathExtensions
Math extensions for SCNVector3, SCNQuaternion, SCNMatrix4
Stars: ✭ 32 (-91.42%)
Mutual labels:  math, simd
zig-gamedev
Building game development ecosystem for @ziglang!
Stars: ✭ 1,059 (+183.91%)
Mutual labels:  math, simd

CLA assistant All Contributors Build status Build status Sonar Status GitHub release GitHub license Discord

Realtime Math

This library is geared towards realtime applications that require their math to be as fast as possible. Much care was taken to maximize inlining opportunities and for code generation to be optimal when a function isn't inlined by passing values in registers whenever possible. It contains 3D and 4D arithmetic commonly used in video games and realtime applications.

It offers an alternative to GLM and DirectX Math. See here for a comparison with similar libraries.

Philosophy

Much thought was put into designing the library for it to be as flexible and powerful as possible. To this end, the following decisions were made:

  • The library consists of 100% C++11 header files and is thus easy to integrate in any project
  • The interface follows C-style conventions to ensure optimal code generation
  • Both float32 and float64 arithmetic are supported
  • Row vectors are used
  • See here for more details

Supported platforms

  • Windows VS2015 x86 and x64
  • Windows (VS2017, VS2019) x86, x64, and ARM64
  • Windows VS2019 with clang9 x86 and x64
  • Linux (gcc 5 to 10) x86 and x64
  • Linux (clang 4 to 11) x86 and x64
  • OS X (Xcode 10.3) x86 and x64
  • OS X (Xcode 11.2) x64
  • Android (NDK 21) ARMv7-A and ARM64
  • iOS (Xcode 10.3, 11.2) ARM64
  • Emscripten (1.39.11) WASM

The above supported platform list is only what is tested every release but if it compiles, it should work just fine.

Note: VS2017 and VS2019 compile with ARM64 on AppVeyor but I have no device to test them with.

Getting started

This library is 100% headers as such you just need to include them in your own project to start using it. However, if you wish to run the unit tests or to contribute to RTM head on over to the getting started section in order to setup your environment and make sure to check out the contributing guidelines.

External dependencies

You don't need anything else to get started: everything is self contained. See here for details.

License, copyright, and code of conduct

This project uses the MIT license.

Copyright (c) 2018 Nicholas Frechette & Realtime Math contributors

This project was started from the math code found in the Animation Compression Library v1.1.0 and it retains the copyright of the original contributors.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


CodyDWJones

💻 📦 🚇

Malte Werschy

💻 📦

This project follows the all-contributors specification. Contributions of any kind welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].