Sam Hocevar
11dc5eebcc
math: put almost all quaternion/vector/matrix operators in ADL namespaces.
10 vuotta sitten
Sam Hocevar
f6dd334c1a
math: use a combination of ADL and enable_if black magic to get rid of macros.
10 vuotta sitten
Sam Hocevar
4f28047fc4
math: refactor more shit, I have no idea what I’m doing.
10 vuotta sitten
Sam Hocevar
caabc35cb1
image: fix a compilation error caused by the GDI+ system headers.
10 vuotta sitten
Sam Hocevar
52cd11358e
math: finish renaming matrix<> to mat<>.
10 vuotta sitten
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 vuotta sitten
Sam Hocevar
a6327b2469
math: move complex/quaternion code out of vector.h and into transform.h.
10 vuotta sitten
Sam Hocevar
b7e237c6ea
math: move matrix code out of vector.h into a new matrix.h header.
10 vuotta sitten
Sam Hocevar
5b4a17de51
math: fix grave dot product bug introduced in the quat/cmplx refactor.
10 vuotta sitten
Sam Hocevar
5fcc47b74c
gpu: fix compilation on platforms that don't have GL_BGRA.
10 vuotta sitten
Sam Hocevar
31738409d9
math: add shortcuts and syntax colouring for mat3x4, mat3x2, etc.
10 vuotta sitten
Sam Hocevar
1b5d3557ec
build: some compilation fixes and tweaks for older (<= 4.6) versions of GCC.
10 vuotta sitten
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
10 vuotta sitten
Sam Hocevar
12aaff89e3
base: huge refactor in vector.h; GCC compilation times down by 50%.
10 vuotta sitten
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 vuotta sitten
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
10 vuotta sitten
Sam Hocevar
378eaec1cb
sys: use the fully working std::atomic instead of our placeholder class.
10 vuotta sitten
Sam Hocevar
3862ad59dc
base: going on a lowercase rampage; today’s victim: Array.
10 vuotta sitten
Sam Hocevar
ebfd692152
base: simplify code here and there.
10 vuotta sitten
Sam Hocevar
7e9f926c43
base: switch map, hash, array2d and array3d to lowercase, like standard
C++ containers.
10 vuotta sitten
Sam Hocevar
f0746b1cee
base: fix build for C++11 compliant compilers (i.e. NOT VISUAL STUDIO).
10 vuotta sitten
Sam Hocevar
32abfb18d1
base: various Visual Studio compilation fixes.
10 vuotta sitten
Sam Hocevar
d21b904e6c
image: the size of the Gaussian used for void-and-cluster is now a parameter.
10 vuotta sitten
Sam Hocevar
7b34d5094b
image: significantly reduce the blue noise algorithm complexity.
10 vuotta sitten
Sam Hocevar
f51bfc5722
image: add a blue noise kernel generator using the void-and-cluster
algorithm.
10 vuotta sitten
Sam Hocevar
2719aa06dd
image: move files around.
10 vuotta sitten
Sam Hocevar
6526c8c904
image: reimplement most image merge operations (overlay, screen, etc.).
10 vuotta sitten
Sam Hocevar
0b97173ee8
math: initialiser lists for Array2D and Array3D.
10 vuotta sitten
Sam Hocevar
8abafbc686
math: add Array3D template class. Happy, Touky? :-)
10 vuotta sitten
Sam Hocevar
18254349aa
image: gather pixel-related types and enums into a single pixel.h header.
10 vuotta sitten
Sam Hocevar
7b8e56c730
base: fix array initialiser and add more unit tests.
10 vuotta sitten
Sam Hocevar
1ad2430ba9
image: implement Image::Lock2D().
10 vuotta sitten
Sam Hocevar
6e282e6aa2
image: fix a memory leak in the Oric loader.
10 vuotta sitten
Sam Hocevar
ac7e3e0861
doc: try something with lolbot quotes.
10 vuotta sitten
Sam Hocevar
ff8723ff63
gpu: implement Framebuffer::GetImage() for OpenGL.
10 vuotta sitten
Sam Hocevar
5f02903598
image: remove dead or useless or low quality code.
10 vuotta sitten
Sam Hocevar
c5a3d4873b
image: port the DBS dithering method and remove a few dead files.
10 vuotta sitten
Sam Hocevar
7d91e2c94f
math: Array2D now proxies Count(), Bytes() and Data() methods from Array.
10 vuotta sitten
Sam Hocevar
48b4861947
image: rewrite the Oric image exporter to use vector types.
10 vuotta sitten
Sam Hocevar
59a157a58c
build: port solution to VS2013. Muahahaha.
10 vuotta sitten
Sam Hocevar
93a6b1b75b
image: we can now write Oric .tap files.
10 vuotta sitten
Sam Hocevar
546e76987d
image: fix inconsistent data after image resizing.
10 vuotta sitten
Sam Hocevar
478b74c6fe
image: we can now read Oric .tap files.
10 vuotta sitten
Sam Hocevar
c8e1480593
base: allow String::Sub to ask for a too large substring.
10 vuotta sitten
Sam Hocevar
967ce8141b
image: bicubic and Bresenham resampling.
10 vuotta sitten
Sam Hocevar
198b8c7abf
math: add unary + operator for vectors.
10 vuotta sitten
Sam Hocevar
c33c45904b
image: brightness, contrast, threshold, invert, dilate, erode, sharpen.
10 vuotta sitten
Sam Hocevar
b5e3bc6c2f
image: get rid of stock images; we were misusing them where we actually
wanted convolution or dithering kernels.
10 vuotta sitten
Sam Hocevar
a45e61ddbc
image: the median filter can now use a kernel for better control.
10 vuotta sitten
Sam Hocevar
6b9f3b66c1
image: add YUV filter, median filter, and image cropping.
10 vuotta sitten