Vladimír Vondruš
dfb7e08a51
TextureTools: simplify the shader preprocessor hell.
8 years ago
Vladimír Vondruš
c983068fcc
TextureTools: initial test for distanceField().
...
Fully passes only on desktop and ES3 (Mesa), expecting minor differences
onother GPUs. ES2 is slightly broken and needs fixing; doesn't even
compile on WebGL 1 and causes a serious GPU stall on WebGL 2 -- in both
causes caused by the unbounded nested loops. Rendering doesn't work on
WebGL 1 at the moment, since luminance formats are not renderable. And
for a RGBA output format I would need some utility to get rid of the
extra channels in order to pass the comparison.
Lots of work to do here.
8 years ago
Vladimír Vondruš
9a80aae2bf
TextureTools: doc++
8 years ago
Vladimír Vondruš
a11605776f
TextureTools: hide visibility macros from Doxygen.
8 years ago
Vladimír Vondruš
7ad64bda2a
DebugTools: add CompareImageFile, CompareImageToFile + CompareFileToImage.
...
These provide more convenience for the usual cases of comparing a
generated image to a file and vice versa.
8 years ago
Vladimír Vondruš
f8ad32f71c
DebugTools: exclude hard-to-test code from code coverage.
8 years ago
Vladimír Vondruš
eabe118266
Math: doc++
8 years ago
Vladimír Vondruš
03ee1c6fe8
Animation: minor cleanup.
8 years ago
Vladimír Vondruš
adaeb21a4d
Animation: implemented Player:seekBy() / Player::seekTo().
8 years ago
Vladimír Vondruš
65b870dfc8
Animation: pausing animation should never result in a stopped state.
8 years ago
Vladimír Vondruš
29d5d83af9
Animation: doc++
8 years ago
Vladimír Vondruš
d3cb21dd55
Platform: fix 1:1 aspect ratio for web applications.
...
CSS priority rules outtricked me again, ugh.
8 years ago
Vladimír Vondruš
e1e4dbd4c4
Platform: properly fall back to physical DPI scaling.
...
Not sure why I did it this way. For sure wasn't like that in the initial
implementation.
8 years ago
Vladimír Vondruš
e1a156ea67
Platform: numpad key mapping for Sdl2Application.
8 years ago
Vladimír Vondruš
7a0bf3018f
Math: new min(), max() and minmax() overloads taking plain C arrays.
8 years ago
Vladimír Vondruš
5319e6bb1c
Platform: properly initialize a value.
8 years ago
Vladimír Vondruš
dcea264b71
GL: fix compiler warning.
8 years ago
Vladimír Vondruš
674a740da5
Renamed various sRGB-related GL APIs for consistency with naming in Math.
...
As usual, the old names are deprecated aliases to the new things.
8 years ago
Vladimír Vondruš
e43d5790f6
Trade: change animation track target to target type and target ID to target.
...
This is in line with how the other APIs are named (for example
ObjectDataXD have instance type and instance). This would be very hard
to change later without breaking backwards compatibility, so I'm doing
it now, until the animation APIs get widely used.
8 years ago
Vladimír Vondruš
89d988383a
Don't use GL-specific stuff on targets without GL enabled.
8 years ago
Vladimír Vondruš
ae744ee6c8
Platform: style canvas focus outline consistently with m.css.
8 years ago
Vladimír Vondruš
28a19f5add
Math: adapt to m.css Doxygen theme updates.
...
In particular, there's now warning about ignored documented friend
declarations. I don't have them documented, that's just Doxygen being
shitty.
8 years ago
Vladimír Vondruš
4a9e63ebdd
Math: doc++
...
I re-posted the tweet in a failed attempt to gain more attention. Yes, I
know I should post that on Connect, but that didn't really made the bug
fixed last time anyway.
8 years ago
Vladimír Vondruš
d2914c78b4
Animation: test some more corner cases.
8 years ago
Vladimír Vondruš
c546c0bd64
Animation: fix pause() behavior.
...
The pause should advance at `stopPauseTime - startTime`, but the
*original* startTime. Since I changed startTime to be
`stopPauseTime - startTime`, the pause advanced to
`stopPauseTime + startTime`, which is wrong. Now the timeToUse variable
is containing the real final time to unconfuse everything.
8 years ago
Vladimír Vondruš
c9f179c474
Animation: test the pause better.
...
Turns out I managed to test in a way that hides a bug since it gives out
the same value.
8 years ago
Vladimír Vondruš
de995059c6
Animation: make Player::elapsed() behave correctly after a "run out".
8 years ago
Vladimír Vondruš
8a71cb6415
Animation: added Player::elapsed().
...
It's not working exactly as it should yet, but the proper update
wouldn't apply so cleanly, so doing that in the next commit.
8 years ago
Vladimír Vondruš
9eb1885923
Animation: doc++
8 years ago
Squareys
e6fd70fe00
MeshTools: compile mesh colors to Color4 attribute
...
Signed-off-by: Squareys <squareys@googlemail.com>
8 years ago
Vladimír Vondruš
6bb0179c65
Re-add glDrawRangeElements() workaround for Emscripten.
...
This reverts commit f6ba4111e1 , which in
turn reverts commit 4ce2875262 from 2015.
Turns out glDrawRangeElements() *is* fixed now in Firefox, but is broken
in Emscripten because their function dependency handling doesn't work
correctly. Related PR: https://github.com/kripken/emscripten/pull/7112
Reverting this until the Emscripten PR is integrated and a version
released with this patch is widespread enough (assuming a year-long
delay could do).
8 years ago
Vladimír Vondruš
799d9b80db
Doc++
8 years ago
Vladimír Vondruš
6725f6ed2f
Math: doc++
8 years ago
Vladimír Vondruš
b44166b238
Math: work around a MSVC 2017 15.8 ICE.
...
Four hours of my life, gone. Minimal repro case here:
https://twitter.com/czmosra/status/1038610648568147968
8 years ago
Vladimír Vondruš
4acfa8c197
Primitives: a better line primitive.
8 years ago
Vladimír Vondruš
523c16779d
Math: added missing CubicHermite [s]lerp[ShortestPath]() overloads.
8 years ago
Vladimír Vondruš
dfcd33ffe8
Math: properly test also (s)lerpShortestPath() assertions.
...
And boom, there was a bug.
8 years ago
Vladimír Vondruš
d5e6012824
Math: simplify CubicHermite test.
...
Not sure why I brainfarted so bad here.
8 years ago
Vladimír Vondruš
2975a1ba2d
Doc++
...
Removed redundant equations and linking just to the relevant docs
instead, these would be hard to maintain otherwise.
8 years ago
Vladimír Vondruš
b615e1ae28
Shaders: support multiple lights in Phong.
8 years ago
Vladimír Vondruš
7d0757ca4d
Shaders: debug output for all Flag / Flags enums / enum sets.
8 years ago
Vladimír Vondruš
89ab8c43e0
MeshTools: why put docs for transform() to an obscure dualquat overload?
...
The type is not even usable for scaling. Putting the docs to the Matrix4
overload instead. Thanks to @uzername for pointing this out.
8 years ago
Vladimír Vondruš
b93fcd6d9d
Trade: camera type, projection size and aspect ratio support.
8 years ago
Vladimír Vondruš
fa10765198
Trade: alpha mode, alpha mask and double sided material properties.
8 years ago
Vladimír Vondruš
4b7dab10e1
Math: improve docs of Matrix4::perspectiveProjection().
8 years ago
Alan
3bbb4088a8
Update Range.h
8 years ago
Vladimír Vondruš
13a6ba8a23
Math: benchmark quaternion interpolation methods.
8 years ago
Vladimír Vondruš
cbc35c4353
Stub documentation for transformation interpolation and animation.
8 years ago
Vladimír Vondruš
eadf8986f6
Math: fuzzy compare for division-by-zero in quaternion s(c)lerp.
...
Also remove a totally unneeded conversion.
8 years ago
Vladimír Vondruš
880bf7a1b6
Animation: list the new interpolators.
8 years ago