Commit Graph

262 Commits

Author SHA1 Message Date
Jack Andersen e172225845 New code style refactor 2018-12-07 19:23:50 -10:00
Jack Andersen e8dfecbb6e SIMD refactor 2018-12-07 15:16:50 -10:00
Jack Andersen d881e58f62 Fix COBBox::calculateAABox 2018-11-18 15:19:14 -10:00
Jack Andersen e572a46949 Mark a method const 2018-11-12 21:54:52 -10:00
Jack Andersen 01019f9602 Fix COBBox intersection test 2018-11-08 14:25:26 -10:00
Jack Andersen 18afb32077 Use reciprocal-multiplication for vector-scalar division 2018-11-02 22:44:52 -10:00
Jack Andersen 0fc3e5e9ca CVector2f-CVector2i interop 2018-11-01 22:15:50 -10:00
Jack Andersen 88769bded0 Fix CMRay constructor issue 2018-10-18 09:44:02 -10:00
Jack Andersen 20603da60d Convert to pragma once 2018-10-06 17:39:40 -10:00
Jack Andersen 11cd08a30a Minor fixup of ToClip 2018-06-23 16:39:18 -10:00
Jack Andersen 1347e23597 Add clip-space constructor for CVector4f 2018-06-23 15:01:02 -10:00
Jack Andersen 8a062453ef Fix CAABox::pointInside 2018-06-23 13:08:10 -10:00
Jack Andersen b54121ed9c Various bug fixes 2018-06-21 14:33:34 -10:00
Phillip Stephens d9e88babe2 Fix CAABox::intersects 2018-06-04 12:13:02 -07:00
Jack Andersen 6fbebe0eb7 Fix closest/furthest point functions for CAABox 2018-06-03 15:03:54 -10:00
Jack Andersen 17a501f339 Remove unneeded standard math functions 2018-06-02 20:10:58 -10:00
Jack Andersen b1b4903cb1 Warning avoidance 2018-05-24 20:38:51 -10:00
Jack Andersen d135dee556 CPlane constructor fix 2018-05-19 20:13:36 -10:00
Jack Andersen e94de160ad Add unaligned vector load constructor 2018-05-09 21:22:37 -10:00
Jack Andersen 34d13c15c1 Linux build fix 2018-04-02 14:44:30 -10:00
Jack Andersen 0756f4ec76 add CColor::writeRGBA8 2018-03-27 22:07:14 -10:00
Jack Andersen ca54d1b54d Add CVector3f::isMagnitudeSafe() 2018-03-03 18:25:21 -10:00
Jack Andersen 527b503bd7 Make vectors and quaternions implicitly convertible to athena vectors 2018-02-23 20:16:08 -10:00
Jack Andersen 5282ae6308 Additional CVector2f operators 2018-02-14 18:35:47 -10:00
Jack Andersen 26ea606a09 Add `double` version of close_enough 2018-02-09 20:25:31 -10:00
Jack Andersen f82efe0583 Minor performance improvement 2018-01-06 19:18:57 -10:00
Jack Andersen 10d389ffda Huge compile performance refactor 2017-12-28 22:06:22 -10:00
Jack Andersen bf25b17ea9 Fix architecture detection macros for Windows 2017-12-26 18:09:19 -10:00
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