summaryrefslogtreecommitdiffstats
path: root/src/common/vector_math.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-05-02vector_math: Ensure members are always initializedLioncash1-9/+9
Ensures that values are always in a well-defined state.
2018-04-20vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]Lioncash1-30/+0
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
2017-09-30Fixed type conversion ambiguityHuw Pascoe1-9/+3
2017-09-27Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.Subv1-4/+8
It is unlikely we will ever use this without first doing a Cast to a signed type. Fixes 9 "unary minus operator applied to unsigned type, result still unsigned" warnings on MSVC2017.3
2017-07-11vector_math: remove dead template parameterwwylele1-1/+1
2017-07-11vector_math: remove broken SFINAE stuffwwylele1-3/+2
this was originally added to eliminate warnings on MSVC, but it doesn't work for custom types.
2017-07-11SwRasterizer: Flip the vertex quaternions before clipping (if necessary).Subv1-1/+1
2017-05-20pica/swrasterizer: implement procedural texturewwylele1-0/+10
2016-12-26vector math: add implementation of Length and Normalizewwylele1-0/+19
2016-09-30Common: Remove dangerous Vec[234] array constructorsYuri Kunde Schlesner1-3/+0
They're not currently used, and it's easy to accidentally pass a single pointer argument to them, causing an out-of-bounds read.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-12/+6
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-325/+382
2016-03-18vector_math: Add missing member in Vec4's SetZero functionLioncash1-1/+4
2015-11-12fix failure on gcc and clangwwylele1-3/+3
2015-11-12disable unary minus when the type is not signedwwylele1-0/+4
silent warning C4146 on msvc
2015-05-30Move video_core/math.h to common/vector_math.harchshift1-0/+0
The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot1-1/+1
2015-02-16VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead.Emmanuel Gil Peyrot1-1/+1
2015-02-05VideoCore: Added same-component swizzlers to math utility functions.bunnei1-16/+35
2014-12-21License changepurpasmart961-1/+1
2014-08-25Math: Warning fixes.Tony Wasserka1-14/+23
2014-08-25Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.Tony Wasserka1-81/+115
- Swizzlers now return const objects so that things like "first_vec4.xyz() = some_vec3" now will fail to compile (ideally we should support some vector holding references to make this actually work). - The methods "InsertBeforeX/Y/Z" and "Append" have been replaced by more versions of MakeVec, which now also supports building new vectors from vectors. - Vector library now follows C++ type promotion rules (hence, the result of Vec2<u8> with another Vec2<u8> is now a Vec2<int>).
2014-08-12Video core: Add utility class for vector operations.Tony Wasserka1-0/+578
I wrote most of this for ppsspp, so I hold full copyright over it. In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors.