Vladimír Vondruš
2ab37ba2a1
Fixed OpenGL ES 2.0 compatibility.
...
Issues related to lack of glDrawRangeElements().
13 years ago
Vladimír Vondruš
f4a410eddf
GCC 4.6 compatibility: no `override` keyword.
13 years ago
Vladimír Vondruš
3285b23ad9
Minor cleanup in tests.
13 years ago
Vladimír Vondruš
68638969f3
Don't forbid setting resources by copy/move.
...
It adds much more convenience. Only some resources can't be moved around
(i.e. those with someone pointing at them), which isn't excuse for
forbidding copy/move altogether.
Finally it is possible to do convenient things like this again:
DebugTools::ResourceManager::instance()->set("red",
DebugTools::ShapeRendererOptions().setColor({1.0f, 0.0f, 0.0f}));
13 years ago
Vladimír Vondruš
d0ac311416
DebugTools: use common segment/ring count for all spheroids.
...
Every circle should consist of 40 lines, i.e. sphere should have 40
segments and 20 rings, capsule should have 40 segments and 10 rings per
hemisphere (=20 rings total).
13 years ago
Vladimír Vondruš
9c935e80c2
DebugTools: support for Cylinder shape in ShapeRenderer.
...
The code is mostly copied and simplified from Capsule renderer. However,
it is such simplification that any attempt to reduce duplicate code
would result in much less maintainable thing.
13 years ago
Vladimír Vondruš
9c34c00bb6
Primitives: use half length also in Cylinder primitive.
...
Everything is now consistent.
13 years ago
Vladimír Vondruš
8929f4c1ae
Shapes: documentation for adding new shapes.
...
It's a lot of steps to rediscover.
13 years ago
Vladimír Vondruš
d8a5695a28
Shapes: added infinite cylinder shape.
...
Seems like an essential part of the toolbox -- we have Point, LineSegment
and Line and now we have also all "swept sphere" alternatives to them --
Sphere (swept "along" the point), Capsule (swept along line segment) and
Cylinder (swept along infinite line).
"Implemented" collision detection with point and sphere, which is just
simplified version of collision detection implemented for Capsule (i.e.
no need to check for cap cases).
13 years ago
Vladimír Vondruš
d09ee62376
Shapes: added TODO.
13 years ago
Vladimír Vondruš
55afd472fe
Shapes: expect only uniform scaling for some primitives.
...
Capsule, Sphere and Plane would behave weirdly if non-uniform scale
would be applied to them. This restriction allows to use more performant
code (i.e. less normalization and matrix multiplication). Updated the
tests to verify that uniform scaling is handled well, for Capsule and
Sphere there is now also no need to test both 2D and 3D transformation.
13 years ago
Vladimír Vondruš
0f1142e5ed
Math: added also Matrix[34]::uniformScalingSquared().
...
Usable to avoid square root and then squaring the value again in
spheroid collision detection algorithms.
13 years ago
Vladimír Vondruš
f2840e5880
Math: assert uniform scaling in Matrix[34]::rotation().
...
Needed to adjust the test cases slightly, because they were firing the
assert even if they shouldn't and the "expect fail" case wasn't working
at all. I now badly need proper floating-point equality comparison.
13 years ago
Vladimír Vondruš
59be5e26f7
Math: added uniform scaling extraction to Matrix[34].
13 years ago
Vladimír Vondruš
b5a2cb6b11
DebugTools: properly implemented special cases for CapsuleRenderer.
13 years ago
Vladimír Vondruš
40797af256
DebugTools: auto? auto, auto.
13 years ago
Vladimír Vondruš
d329f06b22
DebugTools: saved some repetitive multiplication/division.
...
Saves ONE division. Awesome. I'm bored more.
13 years ago
Vladimír Vondruš
f48ed0af13
DebugTools: simplified also 2D ForceRenderer transformation computation.
...
Also removed unneeded tests, as they don't reflect the code in any way.
13 years ago
Vladimír Vondruš
746424bf67
DebugTools: simplified 3D ForceRenderer transformation computation.
13 years ago
Vladimír Vondruš
c4d3446dac
DebugTools: got rid of unnecessary normalization.
...
The tests needed slight ugly adjustment, but I can live with that.
13 years ago
Vladimír Vondruš
75fbe4ac84
Fixed typo in documentation.
...
I'm bored.
13 years ago
Vladimír Vondruš
c381572cff
Better links to Getting Started Guide.
13 years ago
Vladimír Vondruš
81844d1092
Updated ArchLinux building documentation.
13 years ago
Vladimír Vondruš
ca846fc1f1
package: updated magnum-git ArchLinux package.
...
Enabled the least intrusive parts to avoid having many/obscure
dependencies. People would need to enable additional modules on their
own.
13 years ago
Vladimír Vondruš
20148585c2
Finally proper Getting Started Guide in documentation.
13 years ago
Vladimír Vondruš
866ee0594b
Link with other projects' building and usage documentation.
13 years ago
Vladimír Vondruš
5577f98b9e
Updated .gitignore.
...
It would accidentaly ignore also doc/building.dox (which is wrong).
However it doesn't seem to do that.
13 years ago
Vladimír Vondruš
459f3b3e85
TextureTools: fixed typo.
13 years ago
Vladimír Vondruš
b2a5795ff7
Minor Markdown reformatting.
13 years ago
Vladimír Vondruš
99ffc440b2
Properly document building on Windows.
13 years ago
Vladimír Vondruš
95bb40ef52
Reword features in building documentation a bit.
13 years ago
Vladimír Vondruš
47fa924f2b
DebugTools: orthogonal, not parallel.
...
Another brainfart.
13 years ago
Vladimír Vondruš
4d6fa4308e
DebugTools: test orthogonality the easy way.
...
Brainfart.
13 years ago
Vladimír Vondruš
7b087425cf
DebugTools: this shouldn't be inline.
13 years ago
Vladimír Vondruš
beef4b6113
Shapes: added TODOs.
13 years ago
Vladimír Vondruš
e7dbe606cd
Shapes: fixed 2D Capsule transformation.
...
The test now passes again.
13 years ago
Vladimír Vondruš
2c1a859563
Shapes: properly test both 2D and 3D where the transform is not trivial.
...
Causes Capsule test to fail.
13 years ago
Vladimír Vondruš
b50fb5a50e
DebugTools: shape renderer for 2D/3D capsule.
13 years ago
Vladimír Vondruš
b29a68f258
Added MeshView class.
...
Allows to use one mesh configuration for different views of the data
(i.e. rendering object parts with different transformations).
13 years ago
Vladimír Vondruš
0383b345d3
Added convenience parameterless Mesh::indexType().
13 years ago
Vladimír Vondruš
39033d2480
Added Mesh::drawInternal().
...
Exposes explicit draw parameters like vertex/index offset etc.
13 years ago
Vladimír Vondruš
3c75ba7748
Primitives: 2D capsule primitive.
...
Will be used for shape debug rendering.
13 years ago
Vladimír Vondruš
51e2628486
Primitives: test Capsule with more cylinder segments.
...
Testing two face segments is not enough, as _exactly two_ vertex rings
are part of both the cylinder and cap hemispheres.
13 years ago
Vladimír Vondruš
ba72a56309
Primitives: using half length for Capsule primitive.
13 years ago
Vladimír Vondruš
92b8d7fb0b
Audio: added Context class.
13 years ago
Vladimír Vondruš
95e1ae2efc
Audio: added AbstractImporter plugin interface.
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š
1e4680f918
Audio: verify OpenAL types.
13 years ago