Vladimír Vondruš
f7f28bafde
Expect failure in MeshGLTest.
...
After updating my NVidia drivers the double matrix tests are extracting
only the first two values and I don't know why.
12 years ago
Vladimír Vondruš
91649d32c4
Disable "Buffer detailed info" debug message for tests on NV (spammy).
12 years ago
Vladimír Vondruš
a605306bb5
Added DebugMessage::setEnabled().
12 years ago
Vladimír Vondruš
4a6f53cdc8
Added non-allocating char array overload to DebugMessage::insert().
12 years ago
Vladimír Vondruš
c7e4f92f1c
Platform: added publicly usable *Context libraries.
...
They contain the same platform-specific stub as is used in *Application
libraries to load GL function pointers.
12 years ago
Vladimír Vondruš
9a4b7e3a32
Using flextGL instead of glLoadGen for GL extension loading.
...
The function pointer loading is now moved to Application classes to make
it possible to decide about platform-specific API at usage time, not at
library compilation time.
Currently it's not possible to create the Magnum context any other way
than through Application classes, will solve that in next commits.
12 years ago
Vladimír Vondruš
75955ad1b9
Platform: include windows.h in WindowlessWglApplication.
...
The flextGL header doesn't include it anymore so I need to include it
explicitly myself.
12 years ago
Vladimír Vondruš
f48cfee9f9
Platform: minor cleanup.
12 years ago
Vladimír Vondruš
05e0c8dcaa
Disable TextureFormat::RGB10 for ES3.
...
It was defined in OES_required_internalformat which I don't want to
support in ES3+.
12 years ago
Vladimír Vondruš
6c766df568
Move function pointer loading into platform-specific class.
...
This way it will be possible decouple the main library from
platform-specific GLX/WGL/CGL/EGL... API.
12 years ago
Vladimír Vondruš
0cdd722a1e
SceneGraph: fix compilation on MinGW-w64 GCC 4.9.1.
...
Previously (<= 4.9.0) it behaved similarly to MSVC 2013, but the issues
with missing inline functions of classes declared as extern template
appeared again. This way doesn't work with MSVC, so I need to maintain
two separate symbol exporting scenarios. Damn you, DLL hell.
12 years ago
Vladimír Vondruš
24e88afefa
Decide between ANGLE/NV implementation for Framebuffer::blit() on ES.
...
Currently both disabled until extension loader is in place.
12 years ago
Vladimír Vondruš
8c18bd0995
There is glDiscardSubFramebuffer() in EXT_discard_framebuffer.
...
The relevant functions are now a no-op on ES2.
12 years ago
Vladimír Vondruš
623ed89328
Removed dead code.
...
Stuff that won't be present on ES targets anyway because it's already
disabled somewhere else.
12 years ago
Vladimír Vondruš
3619541f9e
Minor cleanup.
12 years ago
Vladimír Vondruš
37c7f285c3
DebugTools: "fix" flaky test.
...
Somehow the compiler is producing less and less precise code.
12 years ago
Vladimír Vondruš
217b53ceb2
Display all headers in project view of IDEs.
...
Finally makes development with QtCreator usable.
12 years ago
Vladimír Vondruš
b79c3d9305
Platform: properly set debug postfix also for WindowlessCglApplication.
12 years ago
Vladimír Vondruš
36c85988a8
Platform: minor cleanup.
12 years ago
Vladimír Vondruš
f5db09b667
Audio: minor cleanup.
12 years ago
Vladimír Vondruš
eb32fb1c40
Proper no-op fallback for *Framebuffer::invalidate*().
...
The documentation of ARB_invalidate_subdata mentions that all the
functions are really just a hint for the implementation to make some
performance optimizations and they are not affecting behavior at all. So
it's perfectly fine to do nothing if the extension is not supported.
I didn't do this originally as I mistakenly thought that invalidating
depth buffer would somehow behave the same as clearing it, but that's
not the case.
12 years ago
Vladimír Vondruš
6fa9d36005
TextureTools: const is available since GLSL 4.20.
12 years ago
Vladimír Vondruš
df699b75b5
TextureTools: properly create compatibility shader.
12 years ago
Vladimír Vondruš
5303979315
Shaders: make the helper function inline.
...
Will be used outside of the library and I don't want to create
another inter-library dependency.
12 years ago
Vladimír Vondruš
746b4eb692
Platform: specify dependencies for Application libs on single place.
12 years ago
Vladimír Vondruš
0d9c21b491
doc: mention plugin interface string in plugin interface docs.
12 years ago
Vladimír Vondruš
dfec071575
Less strict version string comparison in Context.
...
Not all drivers return "2.1 Vendor", there is also "2.1.2 NVIDIA" (and
probably more).
12 years ago
Vladimír Vondruš
5e88bb0da2
Math: less strict precision for comparing floats.
...
Now the viewer example is usable again.
12 years ago
Vladimír Vondruš
b60c2dcb51
Math: better algorithm for comparing floating-point values.
...
Still not ideal (for values around zero), but can't do much better for
such general case.
12 years ago
Vladimír Vondruš
539da0daf1
Trade: minor cleanup.
12 years ago
Vladimír Vondruš
a201f32aab
Trade: allow instantiating importer plugins with access to manager.
12 years ago
Vladimír Vondruš
e71be176a9
Allocation-free overloads for AbstractShaderProgram string functions.
...
In nearly every case the attributes are bound and uniform locations
queried with constant char arrays:
bindAttributeLocation("position", Position::Location);
colorUniform = uniformLocation("color");
Avoiding conversion to std::string and passing const char(&)[size]
directly will avoid needless allocation (and later deallocation) for
every call.
12 years ago
Vladimír Vondruš
1b45a71ff5
Allocation-free overloads for *::setLabel().
...
In most cases the label is set directly from code, e.g.:
texture.setLabel("diffuse-duck");
Avoiding conversion to std::string and passing char(&)[size] directly
will avoid one allocation and deallocation. Better solution would be to
use std::string_view everywhere, but we're not in C++17 yet.
12 years ago
Vladimír Vondruš
ca84e60d66
Fix CubeMapTexture test.
...
This time thank you, hardened NVidia drivers.
12 years ago
Vladimír Vondruš
0dfbc6f833
Use object at least once before testing its label.
...
Otherwise my NVidia emits GL_INVALID_VALUE with message "that <object>
is not valid object", which isn't in the specs. I hate this "deferred
everything" approach in GL. Is this even legal optimization?
12 years ago
Vladimír Vondruš
dcec0bc95f
Remove old NVidia workaround from AbstractObject::getLabel().
...
This bug is fixed, but other issues appeared.
12 years ago
Vladimír Vondruš
9687b622f9
Use threaded shader compilation etc. also in tests.
12 years ago
Vladimír Vondruš
73404fc6e5
Added Renderer::enable()/disable().
...
Should be preferred to Renderer::setFeature() to avoid unnecessary
branching. Also a bit shorter to write.
12 years ago
Vladimír Vondruš
824fc4974a
TextureTools: use threaded shader compilation also here.
12 years ago
Vladimír Vondruš
3be4422ded
Shaders: using attachShaders() everywhere.
12 years ago
Vladimír Vondruš
bc81eb92d8
Added AbstractShaderProgram::attachShaders().
...
Convenience overload to attachShader(), allowing the user to specify
more than one shader at once. Just a complement to initializer-list
versions of compile() and link(), but without any performance
difference.
12 years ago
Vladimír Vondruš
fb51517709
Audio: fix compilation on OSX.
...
Broken since c7b23a884f (missing include).
Thanks to @chris-chambers for the hint.
12 years ago
Vladimír Vondruš
a35ce64752
MeshTools: make compile() actually working with indexed meshes.
...
I was drunk out of my mind. Apparently didn't test once.
12 years ago
Vladimír Vondruš
50897e0dc0
Reset also viewport to default framebuffer on named FB destruction.
...
In text example the scene was rendered with viewport used for
distance field computation, which is wrong. Also amazingly enough that
worked until now.
12 years ago
Vladimír Vondruš
dc980454fc
TextureTools: fix shader compilation.
...
Amazingly enough this worked until now. Maybe more strict NVidia GLSL
compiler?
12 years ago
Vladimír Vondruš
3df0d63a1a
Platform: oh god what have I done.
12 years ago
Vladimír Vondruš
c74ccc22f3
Platform: fix AndroidApplication compilation.
...
Using type before it was defined. Blind changes FTW!
12 years ago
Vladimír Vondruš
ee21b75b15
Shaders: fix build on ES3.
...
I'm starting to hate these rushed prerelease fixes.
12 years ago
Vladimír Vondruš
21d3db82df
Doc++
12 years ago
Vladimír Vondruš
545ef14071
doc: documented all command-line utilities.
12 years ago