Vladimír Vondruš
cc74784d40
Shaders: ability to disable Phong specular contribution.
...
In cases when specular highlights are not desired, results in 30%
speedup (on Intel) and ~25% speedup on AMD, compared to setting the
specular color to transparent black.
Testing was easy thanks to already having a ground truth image for this
case.
5 years ago
Vladimír Vondruš
2c09a2a1e6
Shaders: multidraw support in all builtin shaders.
5 years ago
Vladimír Vondruš
2066d82ea4
Shaders: suffix all existing shaders with GL.
...
To make room for Vulkan shaders. Also renaming the headers, of course
everything is still aliased to the old names (and marked as deprecated).
5 years ago
Vladimír Vondruš
3d136503d8
Updated copyright year.
5 years ago
Vladimír Vondruš
d00d1cb781
Shaders: initialize all members also with NoCreate.
...
Otherwise the _lightCount gets a random value, which makes debugging of
accidentally not created instances harder than strictly necessary.
5 years ago
Vladimír Vondruš
91631139f7
Test: use shorter std::is_copy_{constructible,assignable} everywhere.
...
I wonder why I didn't do this from the beginning, back in 2010 or so.
5 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
6 years ago
Vladimír Vondruš
55685ea382
Shaders: implement instancing in Phong.
6 years ago
Vladimír Vondruš
02525527a4
Shaders: ability to render instanced object ID in Flat/Phong.
6 years ago
Vladimír Vondruš
3626562e1d
Adapted to Corrade changes.
...
Mostly missing includes now.
7 years ago
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š
7d0757ca4d
Shaders: debug output for all Flag / Flags enums / enum sets.
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š
623fa97970
Updated copyright year.
8 years ago
Vladimír Vondruš
7a16273e5d
Updated copyright year.
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š
400b5fafcf
Clarify and verify that NoCreate constructors don't need GL context.
...
Tests for the NoCreate constructors were moved into non-GL test classes.
9 years ago
Vladimír Vondruš
7d8b2ce9a6
Print value of invalid enums in debug output, test those cases.
10 years ago
Vladimír Vondruš
23646e6690
Hell, this project is big.
10 years ago
Vladimír Vondruš
c71dc12503
Making test declarations more compact.
...
Yet again I experienced how insanely large this thing got over the
years.
11 years ago
Vladimír Vondruš
6488fe6e75
Oh, it's 2015 already.
11 years ago
Vladimír Vondruš
6f0ba96cb6
Happy new year too.
12 years ago
Vladimír Vondruš
0616f24f34
Making includes absolute, part 5: absolute includes everywhere.
...
The only places where they aren't absolute are:
- when header is included from corresponding source file
- when including headers which are not part of final installation (e.g.
test-specific configuration, headers from Implementation/)
12 years ago
Vladimír Vondruš
8c2291aa49
Making includes absolute, part 4: using absolute includes for Corrade.
...
Also adapted to some Corrade renames.
12 years ago
Vladimír Vondruš
45a10cefdf
Making includes absolute, part 1: moving files around.
...
Everything what was in src/ is now in src/Corrade, everything from
src/Plugins is now in src/MagnumPlugins, everything from external/ is in
src/MagnumExternal. Added new CMakeLists.txt file and updated the other
ones for the moves, no other change was made. If MAGNUM_BUILD_DEPRECATED
is set, everything compiles and installs like previously except for the
plugins, which are now in MagnumPlugins and not in Magnum/Plugins.
12 years ago
Vladimír Vondruš
a4aad89cfb
Ability to print Shader::Type enum to Debug output.
13 years ago
Vladimír Vondruš
fdf878d458
Audio: added Source class.
13 years ago
Vladimír Vondruš
0382ce70c1
Audio: added Buffer class.
13 years ago
Vladimír Vondruš
6efb83f729
Audio: added Renderer class.
13 years ago
Vladimír Vondruš
50ef1df213
Trade: debug output operator for TextureData::Type enum.
13 years ago
Vladimír Vondruš
db71a23e3c
Bring whole Corrade namespace into Magnum namespace.
...
These projects are tightly interconnected anyway, this means a lot less
typing (yay!).
13 years ago
Vladimír Vondruš
c5ab86794b
Relicensing to MIT/Expat license, part 3: source files.
...
Added license header also to shader sources. Hopefully it won't harm
compilation times too much.
13 years ago
Vladimír Vondruš
231f3277ab
Adapted to Corrade changes.
...
Allowing to instantiate Trade::AbstractImporter subclasses directly
without plugin manager.
13 years ago
Vladimír Vondruš
82f3b948af
Trade: debug output for ObjectData*D::InstanceType enum.
13 years ago
Vladimír Vondruš
fcb8a7b768
Got rid of header files in tests.
...
They have no practical use and they only bloat codebase size and add
maintenance burden.
14 years ago
Vladimír Vondruš
f7d002d06d
Debug operator for shape type.
14 years ago
Vladimír Vondruš
27e1dce533
Got rid of Qt's QtTest in favor of Corrade's TestSuite.
...
Now we can use CORRADE_COMPARE() almost exclusively for comparing
Vector, Matrix instances and all containers from STL. Tests running time
for all 31 tests is now around 0.1 sec instead of two seconds like
before.
Disabled compilation of all benchmarks, because TestSuite cannot handle
them yet.
PKGBUILD from AUR now can shamelessly use check() function without
unnecessary dependencies.
14 years ago
Vladimír Vondruš
04d020fcd6
Physics: Sphere % LineSegment collision.
14 years ago
Vladimír Vondruš
b2f1915579
Physics: Sphere % Line collision.
14 years ago
Vladimír Vondruš
6e778aa533
Physics: Sphere % Sphere collision.
14 years ago
Vladimír Vondruš
15dc8015b4
Physics: Sphere % Point collision.
14 years ago
Vladimír Vondruš
43301c170c
Initial Physics classes, interfaces, documentation and unit tests.
14 years ago
Vladimír Vondruš
0945c50aa6
Removed "active camera" from Scene.
...
It was overengineered and unnecessarily complicated. Now the camera is
specified only in Scene::draw(), which eliminates all the needs for
recalculating absolute object transformations on each camera
transformation change. Absolute object transformation is now computed
relative to root object or relative to camera object passed as
parameter. Because of that it is now also possible to draw the scene
using multiple cameras at once.
14 years ago
Vladimír Vondruš
b945f5f68b
Happy New Year.
15 years ago
Vladimír Vondruš
c7b331d100
(Ahem...) Happy New Year!
15 years ago
Vladimír Vondruš
38d4c8581c
Finally, camera matrix.
...
As matrix inversion is costly operation, the matrix is cached, so it's
regenerated only when the transformation / parent is changed.
16 years ago
Vladimír Vondruš
57380e0681
Small pedantic fixes.
16 years ago
Vladimír Vondruš
9b6f3582e3
Orthographic and perspective camera projections.
16 years ago
Vladimír Vondruš
c41d6ad582
New namespace Magnum::Math.
16 years ago