Sam Hocevar
e49353f457
base: use variadic templates to remove 300+ lines of redundant code.
10 lat temu
Sam Hocevar
7cf72fd16e
base: add a simple tuple implementation.
10 lat temu
Guillaume Bittoun
56325a0773
arraynd: handling array initialization like "arraynd<> a({ { {...}, {..." and fixing bug on arraynd::operator[] (proxy level was wrong).
10 lat temu
Sam Hocevar
dec41f198f
test: syntax fix.
10 lat temu
Sam Hocevar
18476d1b9a
test: add unit test for arraynd (deactivated for now).
10 lat temu
Sam Hocevar
079ee8dcbf
math: some new operators for generic vectors, plus unit tests.
10 lat temu
Guillaume Bittoun
1b784d3a24
arraynd: templating proxy’s inner array type instead of specializing
10 lat temu
Guillaume Bittoun
faf11bcb93
arraynd: proxy implementation
10 lat temu
Guillaume Bittoun
64c714ed37
Adding arraynd skeleton
10 lat temu
Sam Hocevar
5dc05d7f3e
build: remove empty directories and add proper svn:ignore flags.
10 lat temu
Sam Hocevar
7db4bee1c1
pimp: add some clustering in the Amiga export to speed up things.
10 lat temu
Sam Hocevar
83199e3028
math: explicitly delete ctors and dtors in swizzled vectors.
10 lat temu
Sam Hocevar
49692b8ba3
math: add saturate(x) as a shortcut to clamp(x,0,1).
10 lat temu
Sam Hocevar
e996e953c8
sys: fix unititialised class member in File.
10 lat temu
Sam Hocevar
7babf9dfde
math: fix a nasty bug involving swizzling vectors, add two safeguards so
that it never happens again, and unit tests in case it happens again.
10 lat temu
Sam Hocevar
2087f920e7
math: reduce half operator count by half. Lol.
10 lat temu
Sam Hocevar
3c4c41b298
math: reduce macro madness in half.h.
10 lat temu
Sam Hocevar
d4144b1730
build: include common.am in Makefile.am stubs we create.
10 lat temu
Sam Hocevar
11dc5eebcc
math: put almost all quaternion/vector/matrix operators in ADL namespaces.
10 lat temu
Sam Hocevar
f6dd334c1a
math: use a combination of ADL and enable_if black magic to get rid of macros.
10 lat temu
Sam Hocevar
4f28047fc4
math: refactor more shit, I have no idea what I’m doing.
10 lat temu
Sam Hocevar
caabc35cb1
image: fix a compilation error caused by the GDI+ system headers.
10 lat temu
Sam Hocevar
52cd11358e
math: finish renaming matrix<> to mat<>.
10 lat temu
Sam Hocevar
7a28671dee
math: get rid of the base_vec* classes (thanks to relaxed unions), rename
MASK to SWIZZLE in the vector templates, rename matrix<> to mat<> for
consistency, implement transposition for all matrix sizes, make matrix
columns private and only accessible through operator[].
10 lat temu
Sam Hocevar
a6327b2469
math: move complex/quaternion code out of vector.h and into transform.h.
10 lat temu
Sam Hocevar
b7e237c6ea
math: move matrix code out of vector.h into a new matrix.h header.
10 lat temu
Sam Hocevar
5b4a17de51
math: fix grave dot product bug introduced in the quat/cmplx refactor.
10 lat temu
Sam Hocevar
5fcc47b74c
gpu: fix compilation on platforms that don't have GL_BGRA.
10 lat temu
Sam Hocevar
31738409d9
math: add shortcuts and syntax colouring for mat3x4, mat3x2, etc.
10 lat temu
Sam Hocevar
1b5d3557ec
build: some compilation fixes and tweaks for older (<= 4.6) versions of GCC.
10 lat temu
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
10 lat temu
Sam Hocevar
12aaff89e3
base: huge refactor in vector.h; GCC compilation times down by 50%.
10 lat temu
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 lat temu
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
10 lat temu
Sam Hocevar
378eaec1cb
sys: use the fully working std::atomic instead of our placeholder class.
10 lat temu
Sam Hocevar
3862ad59dc
base: going on a lowercase rampage; today’s victim: Array.
10 lat temu
Sam Hocevar
ebfd692152
base: simplify code here and there.
10 lat temu
Sam Hocevar
7e9f926c43
base: switch map, hash, array2d and array3d to lowercase, like standard
C++ containers.
10 lat temu
Sam Hocevar
f0746b1cee
base: fix build for C++11 compliant compilers (i.e. NOT VISUAL STUDIO).
10 lat temu
Sam Hocevar
32abfb18d1
base: various Visual Studio compilation fixes.
10 lat temu
Sam Hocevar
d21b904e6c
image: the size of the Gaussian used for void-and-cluster is now a parameter.
10 lat temu
Sam Hocevar
7b34d5094b
image: significantly reduce the blue noise algorithm complexity.
10 lat temu
Sam Hocevar
f51bfc5722
image: add a blue noise kernel generator using the void-and-cluster
algorithm.
10 lat temu
Sam Hocevar
2719aa06dd
image: move files around.
10 lat temu
Sam Hocevar
6526c8c904
image: reimplement most image merge operations (overlay, screen, etc.).
10 lat temu
Sam Hocevar
0b97173ee8
math: initialiser lists for Array2D and Array3D.
10 lat temu
Sam Hocevar
8abafbc686
math: add Array3D template class. Happy, Touky? :-)
10 lat temu
Sam Hocevar
18254349aa
image: gather pixel-related types and enums into a single pixel.h header.
10 lat temu
Sam Hocevar
7b8e56c730
base: fix array initialiser and add more unit tests.
10 lat temu
Sam Hocevar
1ad2430ba9
image: implement Image::Lock2D().
10 lat temu