Vladimír Vondruš
2149f7b869
Wrap all tests in unnamed namespaces.
...
This makes the compiler warn about test cases that aren't ever used,
which is a good thing.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 years ago
Vladimír Vondruš
de3081042e
Shaders: avoid overflowing alpha with multiple lights.
...
Still not sure what the proper semantics of light alpha should be.
8 years ago
Vladimír Vondruš
295843189d
doc: convert shader images to proper sRGB and HiDPI.
8 years ago
Vladimír Vondruš
799d9b80db
Doc++
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š
b5dc42f332
Shaders: I f'ed up the Flat shader defaults, again.
...
Leftover from 0e9cb6945e . Documented
properly, but not implemented. I *need* the shader tests ASAP.
8 years ago
Vladimír Vondruš
a1ef8550d3
Shaders: don't multiply Phong diffuse alpha with light intensity.
...
That messes up with alpha mask (basically, areas that receive less than
50% light get clipped away).
8 years ago
Vladimír Vondruš
02f0e0aeb9
Doc++
8 years ago
Vladimír Vondruš
fd1572a3a3
Shaders: default ambient color in Phong to transparent black.
...
Makes it possible to support alpha-masked drawing out of the box,
shouldn't have any negative effect on anything else.
8 years ago
Vladimír Vondruš
0e9cb6945e
Shaders: define reasonable uniform defaults for all shaders.
...
Plus a bit of cleanup / fixing broken English.
8 years ago
Vladimír Vondruš
8e73cad1c1
Shaders: make the preprocessor less crazy and consistent with 2D.
...
What the heck. Probably 2011 me is to blame.
8 years ago
Vladimír Vondruš
daf287d2a6
Shaders: classical alpha masking support in Phong and Flat.
...
Slow and ugly, is here only for making quick'n'dirty alpha masked
drawing without a need for blending or depth sorting. Oh and also to
support the glTF alpha mask feature. Again, beware: *slow*.
8 years ago
Vladimír Vondruš
5201176cdb
Shaders: assert texturing is enabled when calling Flat::bindTexture().
8 years ago
Vladimír Vondruš
412ee9a04b
Shaders: simplify Flat shader test.
8 years ago
Vladimír Vondruš
f0a868da9c
Shaders: assert on Phong::bindTexture*() if no texture was enabled.
8 years ago
Vladimír Vondruš
bbebfa971f
Shaders: simplify the Phong construction test a bit.
...
Ugh.
8 years ago
Vladimír Vondruš
460df2b97c
Shaders: doc++
8 years ago
Vladimír Vondruš
6885f0647b
Shaders: minor code reordering.
8 years ago
Vladimír Vondruš
c26075427b
Doxygen. Doxygen IS BROKEN BEYOND REPAIR.
...
I introduced *strong* enum with values, in a subnamespace, that have the
same name as completely unrelated typedefs. Guess what?! It breaks ALL
LINKS TO THOSE TYPEDEFS! **EVERYWHERE!!!**
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š
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š
8018b17bc7
Doxygen: renamed \extension[2] to \gl_extension[2].
...
So it's clear that this is not a Vulkan extension link.
8 years ago
Vladimír Vondruš
adb4547ba0
Split the OpenGL layer out, pt 20: adapted Shaders.
8 years ago
Vladimír Vondruš
b1de952c13
Split the OpenGL layer out, pt 6: adapted buildsystem of dependent libs.
...
Now the rest should build with a lot of deprecation warnings.
8 years ago
Vladimír Vondruš
55d4d344cf
Avoid linking to APIs that are not named like this anymore.
8 years ago
Vladimír Vondruš
b1c60c1b78
Shaders: hint how to have a fully diffuse material with Phong.
8 years ago
Vladimír Vondruš
7917741346
Shaders: rename texture binding functions from set*() to bind*().
...
This better reflects that the functions modify a global state instead of
a shader-local state and so rebinding may be necessary (unlike with
uniforms, which get preserved).
The old set*() functions are now inline aliases to the bind*()
functions, are marked as deprecated and will be removed in some future
release.
8 years ago
Vladimír Vondruš
bc8b8f159a
doc: there's no latex output anyway.
8 years ago
Vladimír Vondruš
3906f533bb
doc: compiled code snippets for the Shaders namespace.
...
Also not really without errors.
8 years ago
Vladimír Vondruš
8f27da9dfd
Set library soversion to 1.0, version to 0.
8 years ago
Vladimír Vondruš
6dffc0a91e
Shaders: documentation update for the new theme.
...
Also made the shader image background transparent to better fit in the
docs and updated the images to match site colors.
8 years ago
Vladimír Vondruš
a97384839b
Use privately Corrade Optional instead of the problematic std::optional.
...
Not in the public APIs yet (Trade etc.), as I need to solve backwards
compatibility first.
9 years ago
Vladimír Vondruš
623fa97970
Updated copyright year.
9 years ago
Vladimír Vondruš
1ec14c678b
Local Doxygen ignores for symbol export macros.
...
It was impossible to put all macros including the ones from other
projects into the global Doxyfile. Much cleaner now <3
9 years ago
Squareys
db56be54a0
Shaders: @mosra is evil.
9 years ago
Vladimír Vondruš
1c433486cd
Consistently use macOS instead of OSX.
9 years ago
Vladimír Vondruš
4b589e10ac
More consistent naming in Context::DetectedDriver.
...
DetectedDriver::AMD is now DetectedDriver::Amd,
DetectedDriver::ProbablyAngle is now just DetectedDriver::Angle. The old
names are still present, but deprecated and will be removed in the
future.
9 years ago
Vladimír Vondruš
12fa6961c8
Use CMake folders also for OBJECT libraries, executables and tests.
9 years ago
Émile Grégoire
dae1e8e9cf
Started adding folders for Visual Studio.
...
See https://gitter.im/mosra/magnum/archives/2017/03/25
9 years ago
Vladimír Vondruš
7a16273e5d
Updated copyright year.
9 years ago
Vladimír Vondruš
d6f5f43d60
Shaders: modernize coding style.
...
* Always prefix private members with an underscore
* Use in-class initialization of the uniform locations
* Use {} for default flag value
9 years ago
Vladimír Vondruš
2b34c269db
Doxygen warning fixes.
9 years ago
Vladimír Vondruš
025ef780b2
Workaround for that one damn Doxygen bug.
9 years ago
Vladimír Vondruš
3b3f71faa9
doc: adapted GL function/extension to Khronos domain move.
...
Followup to previous commit -- links to opengl.org are now redirected to
khronos.org and the extension links have the same format for both GL and
GLES. That allows me to remove some of the Doxygen aliases and use just
a single set of the functions for both GL and GLES.
9 years ago
Vladimír Vondruš
1e8a5c927b
Shaders: added NoCreate constructors to all classes.
...
Makes it possible to have instance of them even before any context is
active.
9 years ago
Vladimír Vondruš
087194d9c0
Shaders: make constructors explicit by default.
9 years ago
Vladimír Vondruš
0fe2ab0aa9
Shaders: ability to use RGBA colors with VertexColor shader.
...
It was just RGB before. In order to avoid breaking current code, the
attribute now requires explicit specification of number of components.
If building with deprecated APIs enabled, there is an additional
deprecated constructor that defaults to RGB so the current code should
keep working as-is.
9 years ago