Commit Graph

214 Commits

Author SHA1 Message Date
Jack Andersen 9216f4e97f Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/zeus 2017-12-26 14:47:52 -10:00
Jack Andersen 439da78fa6 Support for detecting AVX and AVX2 ISA 2017-12-26 14:47:31 -10:00
Jack Andersen 0b8af4b75d GCC compile fix 2017-12-22 19:36:57 -10:00
Jack Andersen f0df551237 Remove pointless condition 2017-12-19 20:06:01 -10:00
Jack Andersen 692dc1adfb Add AVX intrinsics for CVector3d 2017-12-18 17:02:59 -10:00
Jack Andersen 9ab271cd04 Make vector float constructors `explicit` 2017-12-17 16:54:05 -10:00
Jack Andersen 1535b3efcd Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/zeus 2017-12-17 13:05:21 -10:00
Jack Andersen f5f38ac827 Various fixes 2017-12-17 13:05:05 -10:00
Jack Andersen 50f47d6455 Remove SSE4 runtime checks 2017-12-15 15:32:06 -10:00
Jack Andersen b438e30060 CQuaternion fixes 2017-12-15 14:16:40 -10:00
Jack Andersen b359ff96d0 Remove SSELegacy.cpp and add validateCPU() 2017-12-11 16:03:39 -10:00
Jack Andersen 4134568660 Minor literal fix 2017-12-01 18:52:05 -10:00
Jack Andersen 9a22f0c5ed Rewrite Matrix to Quaternion conversion 2017-11-29 15:22:14 -10:00
Jack Andersen 5b3ab7ac22 Fix frustum culling 2017-11-27 16:46:40 -10:00
Jack Andersen bad3038132 Add operator[] asserts 2017-11-23 22:21:18 -10:00
Jack Andersen c5f9137df8 CFrustum fixes 2017-11-21 12:17:16 -10:00
Phillip Stephens b94b2cdd02 Fix `CVector3f::canBeNormalized` 2017-11-18 01:17:40 -08:00
Jack Andersen f370b22b3b CEulerAngle Quaternion constructor fix 2017-11-17 17:34:53 -10:00
Jack Andersen de6dc86596 Fix CQuaternion::transform and CNUQuaternion 2017-11-11 19:13:05 -10:00
Jack Andersen 3d377124c1 Implement CQuaternion::angleFrom() 2017-10-28 20:21:23 -10:00
Jack Andersen 0e792b213a Minor API tweaks 2017-10-14 19:24:17 -10:00
Jack Andersen 141b803c66 constexpr for clamp, min/max, and degree-radian converters 2017-10-09 17:49:54 -10:00
Jack Andersen 16985b0e9b Add CPlane::rayPlaneIntersection 2017-09-17 17:02:19 -10:00
Jack Andersen 9d40c78f6e Give CRelAngle signed value support 2017-09-16 17:04:23 -10:00
Jack Andersen 7e02e40cb2 Merge branch 'master' of https://github.com/AxioDL/zeus 2017-07-30 19:18:26 -10:00
Jack Andersen 2c19667f42 Add invalid state for CFrustum (always passes tests) 2017-07-30 19:17:57 -10:00
Phillip Stephens 0b67ecf073 Add `MakeRotationsBasedOnY` to CTransform 2017-07-30 00:43:44 -07:00
Jack Andersen bf13f1f49c Add M_SQRT1_2F constant 2017-07-26 19:15:22 -10:00
Jack Andersen 13949b249e Additional quaternion functions 2017-07-13 19:12:21 -10:00
Jack Andersen a8764732dc Various matrix and quaternion imps 2017-07-09 18:55:12 -10:00
Jack Andersen 988da2267f make OBBIntersectsBox const 2017-07-02 17:33:51 -10:00
Jack Andersen 07eb5e52ed Fix CAABox::getPoint 2017-06-30 17:23:17 -10:00
Jack Andersen 8c1ddd86b1 Make CSphere::getSurfaceNormal const 2017-06-29 15:38:57 -10:00
Jack Andersen b420a1af93 Make CLineSeg::getEdge const 2017-06-25 15:36:03 -10:00
cylgom 92290663a9 Squashed commit of the following:
commit 7ee57f731293285cf6506549e651a338670fb953
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 21:57:13 2017 +0200

    fixed commits indentation

commit 5b948329ba66d64c569b4067b50be5c9593d316b
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:39:45 2017 +0200

    moved CQuaternion ctor out of athena-dependant compiler directives

commit 7d9bb58ba28b5fc4d43e1ff87a843dc4ae42d048
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:30:43 2017 +0200

    added required headers in CTransform.hpp

commit da0d9ef76b23eaf233a5c3a58a6c1219b80d7c71
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:28:46 2017 +0200

    moved CVector3f ctor out of athena-dependant compiler directives

commit e08199c749dfd1762afd4b75f2f871bd5a86907b
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:12:43 2017 +0200

    fixed const inline arrays

commit 7084b6af2107ec390011f82a14424b8f0142f354
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:11:09 2017 +0200

    fixed empty flags replacement in CMakeLists

fixed unreachable ctors and missing includes
2017-06-08 22:01:41 +02:00
Jack Andersen a0ca6ed66c Add equality tests to CVector2i 2017-05-18 09:26:44 -10:00
Jack Andersen 21b0eb15c8 Add CQuaternion::slerpShort 2017-05-05 19:21:14 -10:00
Jack Andersen 83ef557a02 Make CRelAngle conform input angles to full rotation 2017-05-04 08:55:40 -10:00
Jack Andersen 85e340855a Add Matrix3x3 to euler anges constructor 2017-04-18 13:40:12 -10:00
Jack Andersen c3a6827e83 Add component-wise CEulerAngles constructor 2017-04-14 19:31:46 -10:00
Jack Andersen 5db81ca788 Add CColor::rgbDot() 2017-04-13 09:27:59 -10:00
Jack Andersen 39e240bf25 Add distance between function for AABB 2017-04-08 20:13:47 -10:00
Jack Andersen 857944512f Add normalize option to CUnitVector3f constructor 2017-04-08 10:39:55 -10:00
Jack Andersen 5551fccc5d CMatrix3f Rotation constructors 2017-04-01 17:03:04 -10:00
Jack Andersen 76e20eb4c8 Add CLine 2017-03-30 12:35:40 -10:00
Jack Andersen 726fff8299 Add pointer comments to CMRay 2017-03-28 16:50:27 -10:00
Jack Andersen e08dcffcd1 Add CAABox subscript operator 2017-03-23 19:29:46 -10:00
Jack Andersen c50a319a39 Add CEulerAngles representation 2017-03-19 19:06:53 -10:00
Jack Andersen 8603353cf7 Added skZero for other vector types 2017-03-17 13:30:14 -10:00
Jack Andersen f1e3db1c50 CVector3d improvements 2017-03-13 21:02:09 -10:00
Jack Andersen 5e008737e0 Make `doNormalize` true by default for CUnitVector3f 2017-03-09 17:39:58 -10:00
Jack Andersen 11ba10b557 Add CAABox::intersectionRadius() 2017-03-06 19:34:54 -10:00
Phillip Stephens 505696e4a3 Some cleanup 2017-03-05 10:01:34 -08:00
Jack Andersen 68612ccd4c Add column-constructor for CTransform 2017-03-04 21:56:20 -10:00
Jack Andersen b97ccb7782 Fix ordering of CAABox::split* methods 2017-02-24 21:56:43 -10:00
Jack Andersen 8702ae7d97 Alternate call for CFrustum plane generation 2017-02-23 22:28:06 -10:00
Jack Andersen 69627f4bf3 Make vector constants class-scope 2017-02-11 17:48:21 -10:00
Jack Andersen 6f215040f4 Make CTransform::buildMatrix3f() return reference 2017-02-11 17:16:29 -10:00
Phillip Stephens ad74069739 Add intersection test for COBBox 2017-01-23 02:10:35 -08:00
Jack Andersen efc0580c31 Merge branch 'master' of https://github.com/AxioDL/zeus 2017-01-21 15:37:02 -10:00
Jack Andersen a7545579cc Add some static athena readers 2017-01-21 15:36:46 -10:00
Phillip Stephens e7a72d02b1 Add CAABox::booleanIntersection 2017-01-20 21:57:34 -08:00
Jack Andersen caff50dfa5 Some arithmetic operators for CVector2i 2016-12-30 14:50:54 -10:00
Phillip Stephens 17a42c15e2 Add static ReadRGBABig to CColor 2016-12-22 12:35:29 -08:00
Phillip Stephens 7d77992ed7 Add equality operators for CTransform and CMatrix3f 2016-12-12 18:54:54 -08:00
Jack Andersen a136d77458 Use __builtin_popcountll for systems that support it 2016-12-09 16:33:18 -10:00
Jack Andersen 64a88b3148 Windows Fixes 2016-09-18 15:03:37 -10:00
Phillip Stephens 8146bed6f1 Merge branch 'master' of https://github.com/AxioDL/zeus 2016-09-16 15:20:31 -07:00
Phillip Stephens 0a7c192dd5 CQuaternion::lookAt imp 2016-09-16 15:20:12 -07:00
Jack Andersen f370a2c4e6 Add CColor Athena writer helpers 2016-09-16 09:54:36 -10:00
Phillip Stephens d03f1157dd Helper functions for CTransform and CQuaternion 2016-09-13 22:12:25 -07:00
Jack Andersen 0e491fc8f5 Remove 'far' too annoying name collision 2016-09-10 15:23:44 -10:00
Jack Andersen f4dd896004 Add CTransform::printMatrix 2016-09-05 19:51:48 -10:00
Phillip Stephens 8ccc52d3b1 CRelAngle division ops 2016-09-01 13:17:33 -07:00
Phillip Stephens 1bba8594d5 Proper CRelAngle implementation 2016-09-01 12:38:16 -07:00
Phillip Stephens fb91979596 Add CMatrix constructor for CQuaternion, close_enough helper, and CTransform constness fix 2016-08-31 21:08:46 -07:00
Phillip Stephens 5c650d3a48 Add CNUQuaternion 2016-08-30 17:32:28 -07:00
Jack Andersen 81afa635ef Add CQuaternion::transform 2016-08-21 10:37:58 -10:00
Jack Andersen b71cf19344 Add CRectangle constructor 2016-08-19 18:21:40 -10:00
Jack Andersen 7aa5ccf0c7 Invert logic on CAABox::intersects 2016-08-13 09:35:41 -10:00
Phillip Stephens c1d5449124 Add static ReadBoundingBoxBig 2016-07-31 12:24:44 -07:00
Phillip Stephens 08d2925689 Add sphere->frustum and point->frustum intersection tests 2016-07-26 13:13:26 -07:00
Jack Andersen b6a1241678 Add CPlane::pointToPlaneDistance 2016-07-25 12:51:29 -10:00
Jack Andersen bf9404811c Merge commit 'b8c7' 2016-07-20 19:20:12 -10:00
Jack Andersen b8c7ac0387 Add missing include 2016-07-20 19:19:57 -10:00
Jack Andersen b15e66a710 Bulk-run of clang-format 2016-07-08 08:42:42 -10:00
Jack Andersen 3925f8509e alternate matrix transpose code-path for pre-SSE4.1 2016-07-04 12:28:59 -10:00
Phillip Stephens 68b5c47e25 Implement unimplemented COBBox constructor 2016-06-25 18:11:55 -07:00
Phillip 978b882449 Fix MSVC Name Squatting 2016-05-20 19:59:26 -07:00
Phillip Stephens c36927076c Remove m_ from all non-private members 2016-04-29 01:44:58 -07:00
Phillip Stephens 48b0aa4601 Rename COBBox members to be consistent 2016-04-26 19:39:56 -07:00
Phillip Stephens ac98ebf428 Various fixes and implementations 2016-04-26 03:36:44 -07:00
Phillip Stephens 7af2c491da Finish CMRay
Unify paths
2016-04-25 00:30:35 -07:00
Jack Andersen ac44f808ce Add static stream reader for vector 2016-04-24 19:03:05 -10:00
Jack Andersen 0c968842ae Add RowMajor matrix reader 2016-04-18 14:17:19 -10:00
Jack Andersen 954978454b Add CAABox::skNullBox 2016-04-16 11:49:09 -10:00
Jack Andersen cfc5d55419 Const correctness fixes 2016-04-15 17:23:54 -10:00
Jack Andersen e284c2de31 Order-of-operations optimization with degrees/radians conversion 2016-04-14 17:00:51 -10:00
Jack Andersen 69b384e48c Const correctness on some CAABox methods 2016-04-14 11:42:16 -10:00
Jack Andersen d84d38a1a3 Add scale matrix constructor 2016-04-13 13:06:50 -10:00
Jack Andersen f17f2371bf add CMatrix3f::addScaledMatrix 2016-04-12 12:27:38 -10:00
Jack Andersen 286d098ecb Proper SFINAE usage on PopCount 2016-04-09 13:18:46 -10:00
Jack Andersen eb2968304b More stable Matrix->Quat constructor 2016-04-08 14:00:48 -10:00
Jack Andersen 5aae3cdbc6 Merge branch 'master' of https://github.com/AxioDL/zeus 2016-04-07 17:36:21 -10:00
Jack Andersen c16f25db09 Add matrix to quaternion constructor 2016-04-07 17:35:16 -10:00
Jack Andersen 4dea46aa65 Fix CQuaternion subscript bug 2016-04-07 16:39:36 -10:00
Jack Andersen baaca3136b WXYZ quaternion layout 2016-04-06 17:39:24 -10:00
Jack Andersen 9762710b85 Add color self-clamp 2016-04-03 19:01:27 -10:00
Jack Andersen 1f7088e5eb Proper CTransform::multiplyIgnoreTranslation return value 2016-03-30 20:18:05 -10:00
Jack Andersen f9f432be97 Unnecessary const qualification 2016-03-15 13:23:07 -10:00
Jack Andersen 33c357ecc6 ZE_ATHENA_TYPES readers are now explicit-endian 2016-03-13 14:57:31 -10:00
Jack Andersen 8154c82d78 made CTransform::rotate a const transform func only 2016-03-10 14:22:22 -10:00
Jack Andersen b721e09ef5 CTransform::orthonormalize added 2016-03-09 17:47:01 -10:00
Jack Andersen a76d43d5df Humungous refactor 2016-03-04 13:03:26 -10:00