Commit graph

97 commits

Author SHA1 Message Date
rextimmy 11532e10cc Add log2 function to mMathFn.h 2017-01-16 15:35:25 +10:00
Areloch 31ed509c1c Adds some helpful utility math functions. 2016-11-28 22:42:29 -06:00
Areloch 1a851f167d Merge pull request #1807 from Azaezel/boxBaseBorked
clang catch: boxBase's getPlanePointIndex method wasn't returning values in all cases.
2016-10-24 01:28:25 -05:00
Areloch 6cc7bcd2e0 Merge pull request #1805 from Azaezel/startRightEndRight
clang: constructor initialization order
2016-10-19 08:39:12 -05:00
Areloch 65f25cb0e6 Merge pull request #1796 from Azaezel/notSoEasy
retooled circular ease methods
2016-10-18 22:41:31 -05:00
Areloch 121d65215e Tweaks any enums that use uint_max values so that they have hard types to avoid any compiler kerfluffles with C++11 value narrowing, specifically pertaining to clang. 2016-10-17 01:00:12 -05:00
Azaezel 8d4dd14144 clang catch: boxBase's getPlanePointIndex method wasn't returning values in all cases.
assertfatal doesn't do anything in release builds, so also added a failure enum.
2016-10-16 15:31:56 -05:00
Azaezel fbfd3ed8ed clang: constructor initialization order
while not a major issue per-se, the sheer number of times the engine has to jump back in memory and backfill data in a given class can add up. First run of... many.,
2016-10-14 18:16:55 -05:00
Azaezel 2f5321ddfb tabs/space + transcription typofix 2016-10-14 13:40:53 -05:00
Azaezel d50762cbef self modifying variables made clang unhappy. retooled circular ease methods
basis: http://gizma.com/easing/#circ1
2016-10-14 13:00:27 -05:00
RexTimmy dd64004eaf MacOS platform support. 2016-09-28 11:09:48 +10:00
Areloch 7e4095d610 Merge pull request #1688 from jamesu/dx11_openvr_pr
Basic OpenVR Support code
2016-09-14 00:24:20 -05:00
James Urquhart c6d2456a7c Fix lens flares in VR 2016-09-11 22:42:42 +01:00
James Urquhart 14628e3937 Fix setNearFarDist for off-center projections 2016-09-11 22:42:42 +01:00
Marc Chapman 00cf5ab577 Added x64 check for SSE Intrinsic functions 2016-09-02 05:10:46 +01:00
Duion 1a405264c2 changes "Rotation" instead of "rotation" #1702
Changes back "Rotation =" values in mission files to the old "rotation =" since all other values are also lowercase.
2016-07-31 19:40:06 +02:00
Areloch 8a7159c00e Fixes the drawUtil rendering of polyhedrons by correcting the index ordering to work with triangleStrip as opposed to Fan. 2016-05-22 23:51:58 -05:00
Areloch 65f51a89d8 Merge pull request #1595 from Areloch/EpoxyProjectMatrixFix
Rolls back OGL Projection correction.
2016-05-20 00:23:45 -05:00
Areloch c1f02c05e1 Adds some console methods to the non-class namespace Rotation for some convenient utility functions for dealing with rotations. 2016-05-16 16:03:24 -05:00
Areloch 8568ed19be Merge branch 'RotationFPR_Cleaned' of https://github.com/Areloch/Torque3D into development 2016-05-16 15:49:54 -05:00
James Urquhart 49a735e051 Fix axis check in Box3F::extend method 2016-05-13 12:09:40 +01:00
Areloch 1b47bdd972 Git apparently forgot to commit ALL the changes. 2016-05-12 23:49:06 -05:00
Areloch 383d27f2ec The class is designed as a general-purpose rotation/orientation class to make it easy to work with rotations and swap between math types as easily as possible. 2016-05-12 00:45:16 -05:00
Areloch bc9033da2e Rolls back OGL Projection correction.
Epoxy looks to handle the projection depth range so it behaves more like D3D, so this change was doubling up and causing problems.
2016-05-06 16:45:18 -05:00
Azaezel 223e9a8264 corrects projection matricies for opengl 2016-04-05 20:36:13 -05:00
Anis A. Hireche b3662d801a Merge remote-tracking branch 'refs/remotes/origin/development' into pr/1334
# Conflicts resolved:
#	Engine/source/console/consoleFunctions.cpp
2016-02-26 21:58:01 +01:00
Anis 794f1b9536 Merge pull request #1532 from GarageGames/pr/1143
[CLONE] More consolefunctions #1143
2016-02-26 18:57:49 +01:00
Anis A. Hireche 0fb62de4b8 restored old signature of mRound as it's used from scripts. 2016-02-26 18:41:29 +01:00
Azaezel 7a60056365 Merge branch 'ColorPickerAdvanced' of https://github.com/Azaezel/Torque3D into ColorPickerAdvanced 2016-02-21 16:07:51 -06:00
Anis 2a1f81d3aa removed tabs 2016-02-21 22:48:10 +01:00
Azaezel ca2ffea6cd Merge branch 'development' of https://github.com/GarageGames/Torque3D into ColorPickerAdvanced 2016-02-21 15:30:54 -06:00
Anis 664f6c0639 Merge pull request #1518 from Azaezel/mathUtilsMangle
http://stackoverflow.com/questions/8461832/explicit-qualification-in-
2016-02-16 19:19:19 +01:00
Azaezel f8c4dd9d1d http://stackoverflow.com/questions/8461832/explicit-qualification-in-declaration 2016-02-15 19:08:03 -06:00
Anis 168a2fe029 Merge pull request #1419 from irei1as/patch-1
mQuat.h change to fix QuatF::angleBetween
2016-02-16 00:22:39 +01:00
irei1as 6891d348af Update mQuat.h 2016-02-15 18:50:18 +01:00
irei1as 39613c0d87 Optimized
You're right. If the normalized quaternions are in a variable or something for normal uses it's just a waste to force the change hidden inside again.
2016-02-15 18:43:56 +01:00
Areloch 6235f63deb Merge pull request #1395 from Azaezel/AssertDivNULL
credit to @MusicMonkey5555 for spotting. asserts for Div/NULLs
2016-01-16 17:53:00 -06:00
Areloch 1a009d6dd3 Merge pull request #1443 from Areloch/TAM_Implementation
TAML, Assets and Modules implementation
2015-11-12 23:54:27 -06:00
Azaezel 2753f562e8 shadow caching
SPECIAL NOTE: highly suggest https://github.com/GarageGames/Torque3D/pull/1441 or a variation thereof to prevent debug spew and false-postives for occlusion results.

With significant research, development and prototyping assistance from both @andr3wmac (shaders and partial hook work), and @LuisAntonRebollo (additional culling)

System operates as follows:
1) materials are given an additional castDynamicShadows boolean entry. (Default at time of writing is true by request. Personal usage at time of writing defaults to false. value is default-initialized in materialDefinition.cpp. script/gui exposed)
2) lights are given a staticRefreshFreq and dynamicRefreshFreq (in milliseconds). script/gui exposed
3) materials are (effectively) sorted into dynamic and static shadowmap render lists based on flag. (see shadowMapPass.cpp)
4) initial shadowmaps are generated for each light and 'list'.
5) as each refreshFreq times out, the relevant shadowmap for a given light is refreshed.

Special notes:
dynamicRefreshFreq for all lights is set to a (script exposed) 8MS refresh timer.
StaticRefreshFreq for the lions share of lights defaults to 250 MS (1/4 of a second)
scattersky's embedded light, which is intended to operate in a mobile manner, defaults to 8
to reiterate, these are all customizable per-light via script/inspector gui in the case of alternate project needs.
2015-10-13 18:12:19 -05:00
Areloch 7a3b40a86d Initial Implementation of the Taml, Asset and Modules systems.
Only has example and shape assets currently.
2015-10-13 15:19:36 -05:00
irei1as 1733ecc315 Updated normalize()
It seems normalize() already changes the quaternion so the asignation is not needed.
2015-09-29 16:13:01 +02:00
irei1as 3630f97ab1 mQuat.h change to fix QuatF::angleBetween
The old version doesn't have that 2.0f in the return that seems to be needed.
Also added normalizing inside so it can be used for not-normalized quaternions too.
2015-09-22 19:37:42 +02:00
Azaezel 58ae331609 U32 MRandomLCG::randI() was using longs
32 and 64 bit windows can handle that. 64 bit linux no likey mixing longs and ints.
2015-09-09 15:22:19 -05:00
Areloch bedc79aacb Merges in Monkey's fixes PR with a resolution for a conflict 2015-09-03 22:58:57 -05:00
Azaezel 4d3db61e94 credit to @MusicMonkey5555 for spotting. asserts for Div/NULLs with mutli-element classes
Also includes his magnitude and normalize safe alts
2015-08-12 03:41:49 -05:00
Azaezel 555610f69f Addresses roughly half of the C4189 errors though the following methodologies:
1) truly unused vars removed
2) vars leading to remmed out code for debugging remmed in turn.

left out:
vars in macros.
2015-07-29 03:03:27 -05:00
Daniel Buckmaster e65afa95a9 Merge pull request #1354 from Areloch/PVS_Cleanup_mEase
Cleanup of ease functions operations.
2015-07-25 13:48:46 +10:00
Daniel Buckmaster e10b421641 C4458 declaration hides class member.
There are plenty more of these, but they should be fixed by revising the
names of members to start with m, instead of fixing the local violations.
There was a previous PR for that but it went badly. Will retry again one
day.
2015-07-23 20:13:04 +10:00
Areloch 2f94ab0637 Issue found with PVS-Studio:
Many instances of a variable being modified inside of a complex operation. This could lead to unintended results depending on the whims of the compiler.

Resolved by restructuring the functions to modify the variable first, then do the rest of the operation.
2015-07-13 23:45:55 -05:00
Lopuska 03109c9d6d Color Picker 2015-06-24 20:36:30 -05:00