Vladimír Vondruš
002d2260fd
Math: added select().
...
For animations I need a constant interpolator with the same API as
lerp() and friends.
8 years ago
Vladimír Vondruš
6e74966d94
Math: doc++
...
Make the whole vector bold, including the subscript.
8 years ago
Vladimír Vondruš
507761cb8e
doc: stupid me.
8 years ago
Vladimír Vondruš
d08b064b5b
Math: doc++
8 years ago
Vladimír Vondruš
24b91e40c2
Platform: ability to specify color/depth/stencil buffer sizes.
8 years ago
Vladimír Vondruš
5589353b9a
Platform: doc++
8 years ago
Vladimír Vondruš
b48b0c1296
Platform: properly redraw GlfwApplication restored from minimize.
...
Lots of things unfinished here.
8 years ago
Vladimír Vondruš
1b5e6812fb
Platform: setup GlfwApplication callbacks in a central place.
...
Removes all needless private static class members and fixes a bug
introduced when getting rid of the global window pointer -- the user
window pointer was set only in the case of having a GL context, not in
the contextless case. Boom. (This bug happened after 2018.04, so I'm not
putting that in the changelog.)
8 years ago
Vladimír Vondruš
4498fd0a15
doc: more keywords for easier search.
8 years ago
Vladimír Vondruš
80e682d046
Platform: implemented GlfwApplication::MouseMoveEvent::buttons().
...
Improves feature parity with Sdl2Application.
8 years ago
Vladimír Vondruš
57868e57c4
Platform: mark all GlfwApplication event constructors explicit.
8 years ago
Vladimír Vondruš
84ab1d7dad
Platform: lazy-load modifiers in GlfwApplication mouse move/scroll event.
...
No need to fetch them every time. Doing it similarly to Sdl2Application.
8 years ago
Vladimír Vondruš
36461ce7ea
GL: clean up rendundant ifdefs.
8 years ago
Vladimír Vondruš
b4c52b096d
GL: don't try to test mesh labels if VAOs are disabled.
8 years ago
Vladimír Vondruš
403d9301a6
package/archlinux: go through most code paths in coverage PKGBUILD.
8 years ago
Vladimír Vondruš
90c54a489b
GL: don't create (and leak) VAOs when VAOs are disabled.
...
Ugh. Discovered by looking at a code coverage report and seeing the
non-VAO creation function never used.
8 years ago
Vladimír Vondruš
6465fa14c9
GL: fix undefined behavior and potential leaks in Mesh.
...
The change done in 680144f1c5 was not
properly handling these cases:
* Mesh(NoCreateT) and wrap() were not constructing the internal vector,
which blew up when move-assigning another instance.
* ~Mesh() was not destructing the internal vector if the VAO ID was
zero or non-owning wrap() was used.
Strangely enough none of these were causing *any* problems for me on
Linux (even ASan was totally quiet and due to the unfortunate
combination of bugs even when I assigned totally random data to the
storage vector). This however blew up on MSVC, assuming there the
implementation is more checked.
Because it's possible to construct Mesh with no GL context available,
the move construction and destruction needs to avoid accessing Context
unless really necessary (it would be also unclear which type of vector
should be constructed if we have no context).
Extended the tests to handle hopefully all the cases.
8 years ago
Vladimír Vondruš
d0004865e5
modules: properly handle GLVND also in case of context libraries.
8 years ago
Vladimír Vondruš
ff7b9eadcb
modules: doc++
8 years ago
Vladimír Vondruš
816891ec2e
doc: keywords to make important pages more accessible.
8 years ago
Vladimír Vondruš
3a0d6ee57a
Hide m.css-specific variables from Doxygen.
8 years ago
Vladimír Vondruš
3dc5957142
package/ci: adapt to FindSDL2 updates on WinRT.
8 years ago
Vladimír Vondruš
c2e47ed10c
modules: doc++
8 years ago
Vladimír Vondruš
e505e52cf2
modules: updated FindCorrade.cmake.
8 years ago
Vladimír Vondruš
453fc0b3e7
Shaders: more convenient VertexColor::Color[34] attribute specifiers.
...
Much easier to write (and explain!) than Shaders::VertexColor2D::Color{
Shaders::VertexColor2D::Color::Components::Three}. Ugh. Why again it
took me *years* to realize?
8 years ago
Vladimír Vondruš
53c6d763ae
GL: make the usage parameter in Buffer::setData() optional.
...
So simple change, so big usability impact. These hints don't do much to
performance anyway.
8 years ago
Vladimír Vondruš
077dc67b4f
doc: updated changelog.
8 years ago
Vladimír Vondruš
f922f1e740
CMake: prefer GLVND if on CMake 3.11.
...
This *did not* make things simpler. At all. Ugh. Can I follow
Apple and deprecate GL too?
8 years ago
Squareys
52b7c26022
modules: make FindSDL2.cmake also find debug libraries.
...
Fixes an issue with SDL2d.dll not being copied to the output directory
with vcpkg.
8 years ago
Vladimír Vondruš
00c0aa468e
GL: no need to bind a buffer to do a DSA operation.
...
Breaindead copypaste error. Sorry for being shitty here.
8 years ago
Vladimír Vondruš
f7122d3ce6
Shaders: explicitly list deleted/defaulted copy/move constructor.
...
Two reasons:
* documentation
* making it actually work because the rules are so complex and ever
changing that a thing I thought "just worked" in fact did not work at
all
The Vector tests now compile again.
8 years ago
Vladimír Vondruš
f27b75bd65
Shaders: improve copy/move construction tests.
...
Doesn't compile at the moment because AbstractVector has a private
constructor and so the move constructors are not generated or something.
8 years ago
Vladimír Vondruš
b1acabcda1
GL: document copyability/movability explicitly in all classes.
...
In particular, the AbstractTexture and AbstractQuery subclasses didn't
have that. I can't remember the rules about noexcept (and the users even
less), so let's make that explicit.
8 years ago
Vladimír Vondruš
f47d591244
GL: move noncopyability tests to non-GL test executables.
8 years ago
Vladimír Vondruš
c99fe2888d
Trade: non-random defaults for PhongMaterialData.
8 years ago
Vladimír Vondruš
2fb7913b07
Trade: return Color4 from PhongMaterialData.
...
A breaking change, sorry everyone. It had to be done and there was no
other way.
8 years ago
Vladimír Vondruš
8fb6bfa8dc
modules: static build of SDL2 on Linux requires pthread and dl.
...
Do the same also for other Unix-like systems except for Apple platforms,
where those dependencies are most probably satisfied by some frameworks
instead.
8 years ago
Vladimír Vondruš
ff07b165c5
doc: avoid using deprecated functionality in image generators.
8 years ago
Vladimír Vondruš
4c29ff0d3b
GL: Mesh::draw() and MeshView::draw() return a reference to self as well.
...
So it's possible to chain the draw() calls (for example with a different
shader).
8 years ago
Vladimír Vondruš
8add2f4d86
GL: make spurious test failures with queries more bearable.
...
The XFAIL can be disabled globally, if needed.
8 years ago
Vladimír Vondruš
9275613006
GL: properly reset vertex divisor after drawing w/o a VAO.
...
Otherwise it messes up subsequent draws.
8 years ago
Vladimír Vondruš
d3a91ef22d
GL: test that vertex attrib divisor is properly reset when not using VAOs.
...
Fails, because it's not. Fix in next commit.
8 years ago
Vladimír Vondruš
b2ec555a84
GL: ANGLE_instanced_arrays *is* on WebGL 1, so test it.
8 years ago
Vladimír Vondruš
c750771034
GL: Avoid XPASS on Mesa with CubeMapTexture::invalidateSubData().
...
Check that given extension is actually enabled before testing for XFAIL.
8 years ago
Vladimír Vondruš
35ff2db2a9
GL: XFAIL for Mesa on some very specific 3D pixel storage tests.
...
I was getting similar failures on NV, so it's maybe my problem after
all? Not a priority right now.
8 years ago
Vladimír Vondruš
56c7c23040
Audio: std::abort() needs a header on iOS.
8 years ago
Vladimír Vondruš
e24d948b4d
Audio: make Playable omnidirectional by default.
8 years ago
Vladimír Vondruš
3b88f242cf
Audio: deprecated PlayableGroup::setClean() in favor of Listener::update().
...
No reason to keep the same functionality on two places.
8 years ago
Vladimír Vondruš
6df048eac8
Audio: doc++
...
Compiling code snippets, reworked the totally confused scenegraph
integration docs.
8 years ago
Vladimír Vondruš
5bb358e05d
Audio: cleaned up the scene graph implementation.
...
* De-inlined most of the code
* Reduced includes in headers
* Formatting
* Global variables don't need to be exposed publicly
8 years ago