summaryrefslogtreecommitdiff
path: root/core/math/quaternion.h
AgeCommit message (Collapse)Author
2022-11-01Replace Quaternion Euler constructor with `from_euler` methodAaron Franke
2022-10-08Add `is_finite` method for checking built-in typesHaoyu Qiu
2022-10-07Use float literals for float calculations in ColorAaron Franke
2022-10-05Enhancements to includes in core data structuresAaron Franke
2022-08-19Make `cubic_interpolate()` consider key time in animationSilc Renew
2022-07-27rename and unify notation for spherical interpolationSilc Renew
2022-07-25Fix cubic_slerpSilc 'Tokage' Renew
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com> Co-authored-by: Pasi Nuutinmaki <gnssstylist@sci.fi>
2022-03-16Fix blend animation to solve TRS track bug & blend order inconsistencySilc 'Tokage' Renew
2022-02-24Float literals - fix main primitives to use real_t castinglawnjelly
Uses (real_t) casting to ensure appropriate calculations are done in 32 bit where real_t is compiled as 32 bit.
2022-02-10Float literals - fix main primitives to use .flawnjelly
Converts float literals from double format (e.g. 0.0) to float format (e.g. 0.0f) where appropriate for 32 bit calculations.
2022-02-04Core: Make all Variant math types structsRémi Verschelde
Some were declared as structs (public by default) and others as classes (private by default) but in practice all these math types exposed as Variants are all 100% public.
2022-01-20Add nodiscard to core math classes to catch c++ errors.lawnjelly
A common source of errors is to call functions (such as round()) expecting them to work in place, but them actually being designed only to return the processed value. Not using the return value in this case in indicative of a bug, and can be flagged as a warning by using the [[nodiscard]] attribute.
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-11-30Don't return reference on copy assignment operatorsRémi Verschelde
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this can lead to confusing code and subtle bugs. According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++ allows any arbitrary return type, so this is standard compliant. This could be re-assessed if/when we have an actual need for a behavior more akin to that of the C++ STL, for now this PR simply changes a handful of cases which were inconsistent with the rest of the codebase (`void` return type was already the most common case prior to this commit).
2021-11-04Fix Quaternion multiplication operatorAaron Franke
2021-10-21Implement Animation Compressionreduz
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different). * Implement bitwidth based animation compression (see animation.h for format). * Can compress imported animations up to 10 times. * Compression format opens the door to streaming. * Works transparently (happens all inside animation.h)
2021-06-17Add Quaternion angle_to methodAaron Franke
2021-06-04Rename Quat to QuaternionMarcel Admiraal