Vladimír Vondruš
22dc8170e8
Added Color*::{red,green.blue,cyan,magenta,yellow}() convenience functions.
13 years ago
Vladimír Vondruš
beab448b4e
Math: be more explicit in what we want to construct.
13 years ago
Vladimír Vondruš
ebb855315c
Updated Color documentation with (de)normalization info.
13 years ago
Vladimír Vondruš
361066fdbf
Math: test that constructing vector from parts can be done implicitly.
13 years ago
Vladimír Vondruš
3b91f43e45
Properly test all Color constructors.
13 years ago
Vladimír Vondruš
ab651bb61c
Various minor cleanup.
13 years ago
Vladimír Vondruš
842c263d51
Color: internal helper function renaming.
...
Will be used also elsewhere than for alpha only.
13 years ago
Vladimír Vondruš
01f6553fd6
Math: simplified Vector*::*Axis() and Vector*::*Scale() functions.
13 years ago
Vladimír Vondruš
81f02a24c6
Shaders: compile shaders also for GLSL 1.50 (GL 3.2).
...
It seems that ARB_explicit_attrib_location is not supported on GLSL 1.40
on OSX (even that the support is advertised).
13 years ago
Vladimír Vondruš
add989703e
Math: don't allow *::data() to be called on rvalues.
...
There are more cases that should be fixed, but this is the most
problematic one, as this might look completely innocent:
Vector2 a, b;
float* c = (a + b).data();
Unlike this, which looks suspicious:
Vector2& c = a + b;
13 years ago
Vladimír Vondruš
4aadfd0828
Math: fixed *::data() documentation.
13 years ago
Vladimír Vondruš
4da0f4497f
MeshTools: return Containers::Array also from interleave().
13 years ago
Vladimír Vondruš
b0c0e2d92d
MeshTools: return Containers::Array instead of pointer from compressIndices().
...
This is source-incompatible change, but this function probably wasn't
used much in user code, rather its Mesh/Buffer convenience overload.
Actually Containers::Array<char> has _implicit_ conversion operator to
char*, but this should not be an issue, as the conversion is not allowed
on rvalue references, thus the following code shouldn't compile at all.
Not available on GCC < 4.8.1, though.
// ...
char* data;
std::tie(..., data) = MeshTools::compressIndices(...);
13 years ago
Vladimír Vondruš
e491a0d7b6
Fixed Buffer documentation to reflect set*Data() changes.
13 years ago
Vladimír Vondruš
819451f3c4
Audio: use Containers::Array instead of naked allocation in Source.
13 years ago
Vladimír Vondruš
da03d86e3e
Explicitly pass also shader source sizes in Shader::compile().
...
Should avoid potentially costly `strlen` in glShaderSource() internals.
13 years ago
Vladimír Vondruš
e365259635
Shapes: fix copy constructor in Composition.
...
The test now passes again.
13 years ago
Vladimír Vondruš
d9e7096a9b
Shapes: use Containers::Array instead of naked array in Composition.
...
Makes the copying code simpler. Also added assertion that we copy into
available memory and not somewhere out of bounds. The test now fails the
assertion.
13 years ago
Vladimír Vondruš
0d73256627
Shapes: test also copying and movement of Composition.
...
Now we know where it crashes.
13 years ago
Vladimír Vondruš
d306eac7b6
Shapes: added forgotten test for Composition::transformed().
...
Crashes, as I could imagine. Why I am constantly forgetting to write
tests for essential functionality?!
13 years ago
Vladimír Vondruš
14cff2bdb8
Use Containers::Array instead of naked allocation in *Framebuffer.
...
GL_NONE is fortunately zero, so we can skip std::fill_n altogether and
replace it with zero-initialized allocation. Added just-in-case
static_assert to check that.
13 years ago
Vladimír Vondruš
d6c4bb0300
Use "constructor cast" instead of `static_cast<GL...>(...)`.
...
Makes the lines shorter, the conversions are mainly from strongly-typed
enums to underlying type, so nothing potentially harmful which should be
marked with static_cast.
13 years ago
Vladimír Vondruš
090006d818
TgaImageConverter: use static data and ImageReference instead of `new`.
13 years ago
Vladimír Vondruš
277dabc90e
MeshTools: use std:: prefix everywhere.
13 years ago
Vladimír Vondruš
c7ef09d5dc
MeshTools: don't allocate and memcpy zeros in interleave().
...
We have std::memset for that. What the hell I was thinking back then.
Found when trying to get rid of as many naked allocations and deletions
as possible. Also improved the test with some ASCII-art documentation.
13 years ago
Vladimír Vondruš
19b66d111b
doc: various fixes.
...
Thx @biosek .
13 years ago
Vladimír Vondruš
6dc6404161
WavAudioImporter: explicitly find OpenAL also here.
...
Fixes random issues with al.h not found (based on whether Audio library
CMakeLists.txt gets processed before or after this plugin).
13 years ago
Vladimír Vondruš
e17b970208
GCC 4.4 compatibility: no std::unordered_map::reserve().
13 years ago
Vladimír Vondruš
d163ac4929
external: update std::optional with linker fixes for GCC 4.5.
13 years ago
Vladimír Vondruš
9398692455
GCC 4.5 compatibility: some explicit typing needed.
13 years ago
Vladimír Vondruš
715630b375
GCC 4.5 compatibility: nullptr-related issues.
13 years ago
Vladimír Vondruš
ff08203694
GCC 4.5 compatibility: no range-based for.
13 years ago
Vladimír Vondruš
ea142aa0f4
Fix multiple definition error.
...
I f'ed up the merge.
13 years ago
Vladimír Vondruš
070d0358d8
GCC 4.5 compatibility: no nullptr here.
13 years ago
Vladimír Vondruš
2ea41f4f4f
GCC 4.5 compatibility: no forward enum declarations.
13 years ago
Vladimír Vondruš
52b36a78e9
Enable everything possible also in GCC4.4/4.5 PKGBUILDs.
13 years ago
Vladimír Vondruš
0acd8941c5
Merge branch 'master' into compatibility
13 years ago
Vladimír Vondruš
3bc858777c
Platform: deinline also all ScreenedApplication {con,de}structors.
13 years ago
Vladimír Vondruš
bfac19ceef
Platform: I was drunk also when writing this.
...
The comment contradicts the statement.
13 years ago
Vladimír Vondruš
b744943c98
Platform: deinline also these destructors.
...
Miight reduce some code bloat.
13 years ago
Vladimír Vondruš
5a9ab4eb2c
Platform: this documentation block is superfluous.
13 years ago
Vladimír Vondruš
2f87fd5fbe
Platform: make all constructors implicitly explicit.
13 years ago
Vladimír Vondruš
39714e7df3
Text: I was probably drunk or something.
...
This _is_ supported in GCC 4.6 and there is _nothing_ like
MAGNUM_GCC46_COMPATIBILITY since a long time.
13 years ago
Vladimír Vondruš
97f6275bec
Merge branch 'master' into compatibility
...
Conflicts:
src/Plugins/MagnumFont/MagnumFont.cpp
13 years ago
Vladimír Vondruš
77fbed450e
GCC 4.6 compatibility: apparently can't list-initialize a structure.
13 years ago
Vladimír Vondruš
4048071895
GCC 4.6 compatibility: no std::unordered_map::emplace().
13 years ago
Vladimír Vondruš
1fcbf01288
Enable everything possible in development PKGBUILDs.
13 years ago
Vladimír Vondruš
d24a965c4b
Unbreak non-ES compatibility build.
13 years ago
Vladimír Vondruš
537ff433d4
Added GCC4.4/4.5 development PKGBUILDs.
13 years ago
Vladimír Vondruš
17b0c6a915
Merge branch 'master' into compatibility
...
Conflicts:
src/Plugins/TgaImporter/TgaImporter.cpp
src/Shader.cpp
src/Text/Test/AbstractFontConverterTest.cpp
13 years ago