Vladimír Vondruš
3eb7f6f2b8
Shaders: added generic shader definition.
...
Defines common attributes which are shared by majority of the shaders,
allowing mesh to be configured for the generic shader to be used with any
of them.
13 years ago
Vladimír Vondruš
4d68547cbe
Shaders: set VertexColor::Color attribute location to 3.
...
Locations 0, 1 and 2 are reserved for positions, texture coordinates and
normals.
13 years ago
Vladimír Vondruš
ef42287cf9
Shaders: use location 1 for texture coordinates and location 2 for normals.
13 years ago
Vladimír Vondruš
5542f82d9f
Shaders: set MeshVisualizer::VertexIndex attribute location to 3.
...
Locations 0, 1 and 2 will be reserved for positions, texture coordinates
and normals.
13 years ago
Vladimír Vondruš
0a09b496ca
Shaders: include cleanup.
13 years ago
Vladimír Vondruš
a125964273
Doc++
13 years ago
Vladimír Vondruš
fd3f7febae
Shaders: what the hell.
13 years ago
Vladimír Vondruš
18c9f5c441
Test also default values in Color*::{red,green,blue,cyan,magenta,yellow}().
13 years ago
Vladimír Vondruš
5949f7ae41
SceneGraph: added TODO.
13 years ago
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š
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š
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š
695c287e11
Add development PKGBUILDs for GCC4.6/4.7.
13 years ago
Vladimír Vondruš
db1f68d1e8
Use ninja also in all other development PKGBUILDs.
13 years ago
Vladimír Vondruš
b2b6eb0c92
MinGW32's linker issues _are only_ MinGW32's fault.
...
Yep.
13 years ago
Vladimír Vondruš
573e18eabd
Broken std::u32string is also only MinGW32's fault.
...
MSVC doesn't have it at all, for security reasons ;-)
13 years ago
Vladimír Vondruš
41ee03c5c5
Missing std::to_string() is MinGW32's fault, not Windows fault.
13 years ago