Commit Graph

284 Commits

Author SHA1 Message Date
Lioncash 61fc6c6fd2 CSphere: Make intersects() a const member function
This member function doesn't modify instance state, so it can be made
const.
2019-09-01 03:59:26 -04:00
Jack Andersen c5d90a5d5e Make simd_floats use std::array for storage 2019-07-20 22:42:27 -10:00
Jack Andersen 48073c783b Move some quaternion functions in-header 2019-06-14 14:38:56 -10:00
Jack Andersen c81eb93b6d Better CMake dependency handling 2019-06-11 16:04:52 -10:00
Jack Andersen 6c13d089fe CColor hash 2019-05-07 17:49:27 -10:00
Jack Andersen 92733a3bb7 Fix some compilation warnings 2019-04-06 19:01:22 -10:00
Jack Andersen 617875531a Implement CAABox::getTri 2019-04-02 18:30:18 -10:00
Jack Andersen 2edc75f793 CColor clamp for all arithmetic ops 2019-03-23 22:06:25 -10:00
Jack Andersen a240b39a11 COBBox::FromAABox fix 2019-03-07 18:15:58 -10:00
Jack Andersen 855869b5b1 Windows build fixes 2019-02-23 22:41:50 -10:00
Jack Andersen b854e76dc9 constexpr refactor 2019-02-23 21:15:32 -10:00
Jack Andersen 9b4434e6e0 Ensure correct namespace in simd subsystem 2019-02-17 19:47:20 -10:00
Jack Andersen 31b437e784 GCC simd fix 2019-02-15 15:31:42 -10:00
Jack Andersen 2041ec3156 More flexible conversion constructior from CVector2f->CVector3f 2019-02-10 10:58:27 -10:00
Jack Andersen e32914074a CAABox intersectRadius fixes 2019-02-07 21:56:15 -10:00
Jack Andersen df5e71cde5 CRelAngle visibility fix 2019-01-28 22:27:23 -10:00
Jack Andersen 841c876a66 Add CAABox::projectedPointTest 2019-01-19 20:41:51 -10:00
Jack Andersen 4524fe2dcf Correct CRelAngle behavior 2018-12-16 17:51:14 -10:00
Jack Andersen e6265e3c81 Make CRelAngle use [0,2pi] range 2018-12-15 20:31:17 -10:00
Jack Andersen 4352f0d4a9 Add identity transform constant 2018-12-14 20:29:14 -10:00
Jack Andersen 7df9f9b7ec Correct CVector3f::slerp implementation 2018-12-12 21:36:29 -10:00
Jack Andersen 9799353b35 Windows fixes 2018-12-07 20:44:51 -10:00
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