Guillaume Bittoun
2f056e0133
arraynd: replacing array2d and array3d by templated arraynd.
10 anni fa
Guillaume Bittoun
e03ac49383
arraynd: adding tests on size filling
10 anni fa
Guillaume Bittoun
04e44e2d89
arraynd: adding test for variable length subarrays
10 anni fa
Guillaume Bittoun
7cab9c634e
arraynd: index inversion on initializer_list construction
10 anni fa
Guillaume Bittoun
a28832a53b
arraynd: implementation/correction of the initializer_list constructor
10 anni fa
Sam Hocevar
7dba2ff3a1
base: use ptrdiff_t for array and string sizes and some other things.
10 anni fa
Sam Hocevar
29dd656a78
math: make swizzling parameters readable in base 10 so that we understand
what's going on in the debugger.
10 anni fa
Sam Hocevar
90f0420382
math: fix uninitialised variable in arraynd.
10 anni fa
Sam Hocevar
47f7fabbd9
math: activate arraynd and simplify some stuff in there.
10 anni fa
Sam Hocevar
cc5c21c34b
math: add iterators and initializer_list constructors to vec_t.
10 anni fa
Sam Hocevar
dec41f198f
test: syntax fix.
10 anni fa
Sam Hocevar
18476d1b9a
test: add unit test for arraynd (deactivated for now).
10 anni fa
Sam Hocevar
079ee8dcbf
math: some new operators for generic vectors, plus unit tests.
10 anni fa
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 anni fa
Sam Hocevar
4f28047fc4
math: refactor more shit, I have no idea what I’m doing.
10 anni fa
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 anni fa
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
10 anni fa
Sam Hocevar
12aaff89e3
base: huge refactor in vector.h; GCC compilation times down by 50%.
10 anni fa
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 anni fa
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
10 anni fa
Sam Hocevar
378eaec1cb
sys: use the fully working std::atomic instead of our placeholder class.
10 anni fa
Sam Hocevar
7e9f926c43
base: switch map, hash, array2d and array3d to lowercase, like standard
C++ containers.
10 anni fa
Sam Hocevar
0b97173ee8
math: initialiser lists for Array2D and Array3D.
10 anni fa
Sam Hocevar
8abafbc686
math: add Array3D template class. Happy, Touky? :-)
10 anni fa
Sam Hocevar
7b8e56c730
base: fix array initialiser and add more unit tests.
10 anni fa
Sam Hocevar
59a157a58c
build: port solution to VS2013. Muahahaha.
10 anni fa
Sam Hocevar
da6b3d5cd0
scenegraph: Entity::TickDraw() now provides a reference to the current
scene so that g_scene can be deprecated later.
10 anni fa
Sam Hocevar
5fc5d62849
image: add an optional Imlib2 codec, prepare for float32 images, make the
Lock/Unlock mechanism safer, and implement the rule of three.
10 anni fa
Sam Hocevar
227411f337
image: refactor codecs so that they no longer store anything in the image
objects themselves.
10 anni fa
Sam Hocevar
90786652e8
base: fix Array::Insert to avoid copying the whole array and add a unit test.
10 anni fa
Sam Hocevar
f455f0e2d1
image: start reworking the Image class to properly split the pixel handling
and the codec logic.
10 anni fa
Sam Hocevar
79ed58f1f0
Merge branch 'master' into scenegraph
10 anni fa
Sam Hocevar
d16595a0bc
image: some refactoring of the Image class. Not final.
10 anni fa
Sam Hocevar
8c3794a168
base: support range-based for loops in lol::Array.
10 anni fa
Sam Hocevar
1713602077
math: revert the lvalue vector swizzles because VS2012 lags behind.
10 anni fa
Sam Hocevar
ab470ef409
math: activate vector swizzling for lvalues.
10 anni fa
Sam Hocevar
44dec8612e
core: fix minor Windows and Raspberry compilation issues.
10 anni fa
Sam Hocevar
47e71bda63
base: rough implementation of safe enums with minimal ToString() support.
10 anni fa
Sam Hocevar
c9b8ff54a1
misc: some refactoring in texture handling.
10 anni fa
Sam Hocevar
c29058ac87
gpu: give access to the Texture behind a TileSet.
10 anni fa
Sam Hocevar
76740f77bc
math: remove some vector constants that were a bit too specific.
10 anni fa
Benjamin ‘Touky’ Huet
b2bdb1972f
Several name tweaks here and there.
10 anni fa
Sam Hocevar
cb62b52ce6
math: add quat::axis() and quat::angle() to retrieve axis and angle from a
quaternion, improve quat::rotate(vec3, vec3) to gracefully handle corner
cases, and add unit tests for all of these.
10 anni fa
Sam Hocevar
ab45658080
build: compilation fixes for errors caused by recent renamings.
10 anni fa
Benjamin ‘Touky’ Huet
b7fc1953ab
Some names tweaks
Added workbench, for personnal experimentation.
10 anni fa
Sam Hocevar
8443733a08
math: add GLSL-inherited degrees() and radians() conversion functions.
10 anni fa
Benjamin ‘Touky’ Huet
917891e0b0
Build FIX
10 anni fa
Benjamin ‘Touky’ Huet
21d90c7c22
Fixed shit
10 anni fa
Sam Hocevar
232fa4126d
gpu: rename uniforms here and there for consistency.
10 anni fa
Sam Hocevar
d46e63ff29
build: VS2012 solution and project tweaks for exotic platforms.
11 anni fa