Vladimír Vondruš
b4950b59ac
Text: moved TextLayouter from TextRenderer internals to Font header.
...
Preparation for the whole thing to be testable, moving
implementation-dependent (FreeType/HarfBuzz) things together.
13 years ago
Vladimír Vondruš
2944a4e205
Text: non-templated base for TextRenderer.
...
Saves a lot of duplicated generated code.
13 years ago
Vladimír Vondruš
0d7baef932
Text: no need to explicitly specify Z coordinate in 3D text.
...
The coordinate is always 0 and Mesh can be configured to add it
implicitly. The code is now nearly the same for 2D and 3D, will redo it
without templates later.
13 years ago
Vladimír Vondruš
195ec4e9b2
Text: synchronized function parameter naming with documentation.
13 years ago
Vladimír Vondruš
2d98dadb0a
Shaders: first DistanceFieldVectorShader implementation.
...
Currently only fill and outline can be specified. Also crosslinked from
documentation of VectorShader and TextureTools::distanceField().
13 years ago
Vladimír Vondruš
549558b502
Shaders: doc++
13 years ago
Vladimír Vondruš
d256d7a0c4
Shaders: missing virtual keyword.
...
This was compiling?! It seems that I don't know more than I think.
13 years ago
Vladimír Vondruš
e891bd9b31
Shaders: use Int instead of GLint.
...
Don't know how this only place got forgotten.
13 years ago
Vladimír Vondruš
3c31519133
Shaders: cleanup of VectorShader.
...
Using this-> for accessing parent class members breaks KDevelop
autocompletion, using explicit class name instead (but the shorter one).
13 years ago
Vladimír Vondruš
5a374dd73e
Shaders: support alpha in VectorShader::setColor().
13 years ago
Vladimír Vondruš
b6caae10b0
Shaders: vertex VectorShader is implementation independent.
...
Renamed it to AbstractVectorShader.
13 years ago
Vladimír Vondruš
91f0d302c2
Shaders: renamed TextShader to VectorShader.
...
The code can be used for drawing any vector art, not only font glyphs.
13 years ago
Vladimír Vondruš
31582ce2f8
Todo++
13 years ago
Vladimír Vondruš
7a99a4b326
Shortened (texture) filtering types to comply with OpenGL naming.
...
The documentation already used them, so why complicate things further.
13 years ago
Vladimír Vondruš
12f719f177
Text: prerendering Font for use with distance-field rendering.
...
Currently there is no builtin shader capable of it, will come later.
13 years ago
Vladimír Vondruš
babc850102
Text: minor code cleanup.
13 years ago
Vladimír Vondruš
a9f62e3f1c
TextureTools: support padding in atlas().
13 years ago
Vladimír Vondruš
f07957a37f
A little bit of const fascism.
13 years ago
Vladimír Vondruš
79d29ea947
TextureTools: proper function name in assert.
13 years ago
Vladimír Vondruš
b1a97ed134
TextureTools: initial rude implementation of distance field computation.
...
Not yet ported anywhere else than GL >= 3.3 with some GL 4.3 features.
Still, this closes #3 .
13 years ago
Vladimír Vondruš
7ae405b360
Introductory documentation about method chaining.
13 years ago
Vladimír Vondruš
23ba74c8c3
Added missing method chaining to framebuffer configuration functions.
13 years ago
Vladimír Vondruš
3929a6225a
Properly delete arrays.
13 years ago
Vladimír Vondruš
f6ab8cfec2
Guidelines for builtin type aliases in coding style documentation.
13 years ago
Vladimír Vondruš
5eb98494b3
Doc++
13 years ago
Vladimír Vondruš
677aa8485e
Math: properly test constexpr in all Matrix classes.
...
* Merged constExpressions() into other test cases, reducing duplicates
and simplifying the checks.
* Fixed old-and-forgotten operator[] overload in Matrix subclasses, it
was reinterpret_cast on T* array, it is now sufficient to do only
static_cast. Constexpr operator[] overload returns const copy to make
constexpr operations working even on returned value, e.g.:
constexpr Matrix4 a;
constexpr Vector3 b = a[2].xyz();
13 years ago
Vladimír Vondruš
fc538c3a57
Math: properly test constexpr in all Vector classes.
...
* Merged constExpressions() into other test cases, simplified the test
a lot and removing duplicate code.
* Fixed Vector3::xy(), Vector3::xy() and Vector3::xyz() constexpr
overloads, they now return copy instead of reinterpret_cast
reference. The copy is const to make constexpr operations working
even on returned subclass, e.g.:
constexpr Vector4 a;
constexpr Float b = a.xyz().y();
13 years ago
Vladimír Vondruš
181cf2cf11
GCC 4.6 compatibility: std::array<Vector2> can't be constexpr.
...
Don't know why.
13 years ago
Vladimír Vondruš
7f951ee39c
GCC 4.6 compatibility: {} can't be used as default function parameter.
13 years ago
Vladimír Vondruš
99062ed248
GCC 4.6 compatibility: no delegating ctr in Math::RectangularMatrix.
13 years ago
Vladimír Vondruš
deb54fc92f
GCC 4.6 compatibility: no inheriting constructors in Math::Vector.
13 years ago
Vladimír Vondruš
0e34eeda58
GCC 4.6 compatibility: no delegating constructors in Math::BoolVector.
13 years ago
Vladimír Vondruš
3c407f2226
GCC 4.6 compatibility: fix warning about injected-class-name.
13 years ago
Vladimír Vondruš
2cdb159cbd
GCC 4.6 compatibility: no user-defined literals.
13 years ago
Vladimír Vondruš
a75ed22d4e
Updated portability tips documentation.
13 years ago
Vladimír Vondruš
618b556381
Math: crosslinked documentation with missing type aliases.
13 years ago
Vladimír Vondruš
1693c772ad
Moved OpenGL includes out from Magnum.h.
...
OpenGL includes are ~35k lines together and it is a waste of
compilation time to include them even if they are not needed at all
(e.g. whole SceneGraph and Physics libraries). Saves ~10s of compilation
time (6:46 before, now 6:35).
13 years ago
Vladimír Vondruš
c707370f30
Removed unneeded includes.
13 years ago
Vladimír Vondruš
b5c1052c96
DebugTools: using new type aliases in whole DebugTools namespace.
13 years ago
Vladimír Vondruš
006dbf417a
Platform: using new type aliases in whole Platform namespace.
13 years ago
Vladimír Vondruš
a7a4d3eeb8
Text: using new type aliases in whole Text namespace.
13 years ago
Vladimír Vondruš
5f049c50b8
Physics: using new type aliases in whole Physics namespace.
13 years ago
Vladimír Vondruš
4e5a6f76eb
SceneGraph: using new type aliases in whole SceneGraph namespace.
13 years ago
Vladimír Vondruš
003e524a26
Shaders: using new type aliases in whole Shaders namespace.
13 years ago
Vladimír Vondruš
32b783505f
MeshTools: using new type aliases in whole MeshTools namespace.
13 years ago
Vladimír Vondruš
e4f6a53185
Primitives: using new type aliases in whole Primitives namespace.
13 years ago
Vladimír Vondruš
7af5ff17b6
Trade: using new type aliases in whole Trade namespace.
13 years ago
Vladimír Vondruš
2d2d1c07f4
Using new type aliases in whole root Magnum namespace.
13 years ago
Vladimír Vondruš
6a90b0231b
Math: using new aliases for builtin types in whole Math namespace.
13 years ago
Vladimír Vondruš
6220f24f0b
Our own aliases for builtin types.
...
It seems like a bad idea, but it will:
* Improve portability, as `Int` will be always 32bit.
* Improve readability, as `std::int32_t` is just plain ugly and too
complicated to write.
* Improve consistency and reduce confusion, as it's not good to mix
`int`, `std::int32_t`, `GLint`, `khronos_int_t` and whatnot in one
codebase.
* Possibly reduce compilation time, because including all ~35k lines
worth of GL headers just for one GLfloat typedef is even worse than
now forbidden #include <iostream> in headers.
13 years ago