Sam Hocevar
d373081b80
build: use #pragma once instead of header guards because 1) fuck the dinosaurs,
and 2) fuck the Visual Studio compiler that crashes when confused.
11 роки тому
Sam Hocevar
2087f920e7
math: reduce half operator count by half. Lol.
11 роки тому
Sam Hocevar
3c4c41b298
math: reduce macro madness in half.h.
11 роки тому
Sam Hocevar
11dc5eebcc
math: put almost all quaternion/vector/matrix operators in ADL namespaces.
11 роки тому
Sam Hocevar
8443733a08
math: add GLSL-inherited degrees() and radians() conversion functions.
12 роки тому
Sam Hocevar
1fc53d4df9
math: avoid unnecessary conversions in the half class and remove a
static method that we can do without.
13 роки тому
Sam Hocevar
06c4ec01c3
base: move headers around and promote gpu/ to lol/gpu/.
13 роки тому
Sam Hocevar
e00d987083
math: implement fract() for vectors and scalar types.
13 роки тому
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
13 роки тому
Sam Hocevar
57c2805351
math: reimplement min(), max(), abs() and fmod() in the lol:: namespace to
avoid conflicts with the C++ stdlib.
13 роки тому
Sam Hocevar
e4954c0a0f
math: implement abs() and fmod() for vector types and the half class.
13 роки тому
Sam Hocevar
c035a1c2b7
core: fix a few build warnings and remove useless operators from the
"half" class. The build is now 3% faster.
13 роки тому
Sam Hocevar
1bc2a7d705
build: fix compilation on Windows by undefining the min and max macros
that WinDef.h insists on shoving down our throats.
14 роки тому
Sam Hocevar
ade0514b15
math: add min(), max() and clamp() for half, real and vector types.
14 роки тому
Sam Hocevar
33a3897b06
math: add vectors of "half" to vector.h.
14 роки тому
Sam Hocevar
7867c6ea3e
math: fix minor warnings in half.h and vector.h.
14 роки тому
Sam Hocevar
b4610706c0
math: move half.h into the public headers.
14 роки тому
Sam Hocevar
8bca639606
math: add missing operators (==, !, <= etc.) to the "half" class so that
it can at last be put into a vector.
14 роки тому
Sam Hocevar
54f74a1b20
win32: some compilation fixes here and there.
14 роки тому
Sam Hocevar
4a16c072f2
core: new combinations of integer vectors (unsigned, 8-bit, etc.), dot and
cross product, normalize, etc.
14 роки тому
Sam Hocevar
4b9bd58747
core: reactivate half denormals for the PS3.
We know we will not have denormal floats on the PS3, but we should still
create denormal halves in case the other end (maybe the GPU?) knows how
to handle them.
14 роки тому
Sam Hocevar
cb001ddbcc
core: tune the half precision code so that the best variants are being
used on the PS3 platform.
14 роки тому
Sam Hocevar
e47928e8d1
test: improve the benchmark code to measure a lot more half precision
number conversions.
14 роки тому
Sam Hocevar
205fc5fc22
core: rename half::isnan() etc. to half::is_nan() because "isnan" can be
a C macro on some systems (Android NDK, PS3...).
14 роки тому
Sam Hocevar
4fea7a091d
core: implement array versions of the float / half conversion routines.
14 роки тому
Sam Hocevar
2d85e76ec8
core: minor refactoring in the float / half conversions to accomodate
for future array versions.
14 роки тому
Sam Hocevar
8b71ddb30c
core: implement new half / float operations and the associated tests.
14 роки тому
Sam Hocevar
c3b23d1f4d
core: add a half to float conversion routine and utility floating point
functions such as isnan(), isinf() etc.
14 роки тому
Sam Hocevar
96007d26c4
core: start working on the "half" type.
14 роки тому