Vladimír Vondruš
92c4a5a2ed
Text: turned AbstractFont into plugin interface.
13 years ago
Vladimír Vondruš
c0b8e65d75
FindMagnum.cmake: fixed finding of Text library.
13 years ago
Vladimír Vondruš
cda51f3dd5
Text: moved FreeType and HarfBuzz fonts into plugins.
...
In next few commits AbstractFont will become plugin interface. Font
implementations are now in magnum-plugins repository. Removed all traces
of FreeType and HarfBuzz dependencies.
13 years ago
Vladimír Vondruš
e222fc5eb8
Text: simplified font layouters, removed remaining public API.
...
Now the font classes are prepared to be plugins.
13 years ago
Vladimír Vondruš
57adfac002
Text: moved font size to abstract base.
13 years ago
Vladimír Vondruš
cc19e78983
Text: moved glyph caching into separate classes.
...
The API is similar for both basic and distance field caching.
13 years ago
Vladimír Vondruš
6802b022ea
Added some TODOs.
13 years ago
Vladimír Vondruš
5ed38a3727
Worked around Doxygen issues in Renderer documentation.
...
The text was displayed as if it was code block.
13 years ago
Vladimír Vondruš
5c5c9d81d8
Added Renderer::flush() and Renderer::finish().
13 years ago
Vladimír Vondruš
28499ac908
Fixed outdated documentation.
13 years ago
Vladimír Vondruš
da4ceb7cbc
Delete VAO in Mesh only if it is nonzero.
...
glDeleteVertexArrays() was called even after the Mesh was moved out to
another object. On my NVidia it was working but it might cause issues
elsewhere.
13 years ago
Vladimír Vondruš
06971775cd
Text: properly compute glyph count in FreeTypeFont layouter.
...
It was the same as byte count, thus working only for pure ASCII, not
UTF-8.
13 years ago
Vladimír Vondruš
3c9c90ecf7
Text: assert that also freeing up FreeType resources doesn't fail.
13 years ago
Vladimír Vondruš
0f4e2f8a37
Text: made constructors explicit.
13 years ago
Vladimír Vondruš
19cc27e2c0
Cleaned up OpenGL.h header.
...
I didn't know that C preprocessor had `#elif` until now. Learning
something new every day.
13 years ago
Vladimír Vondruš
b1fcdf81af
Trade: improved *Data constructors and destructors.
...
* They are now deinlined into source files, as most of the classes have
either heavy members (std::vector) or virtual methods.
* All of them are explicit now (that should be already done, don't know
why not).
* Passing huge classes by value and using move constructors to avoid
unnecessary copying.
13 years ago
Vladimír Vondruš
ab56470dec
Updated PKGBUILDs and added ES2/ES3 variants.
13 years ago
Vladimír Vondruš
b55dba8168
Platform: forgot to initialize variable.
13 years ago
Vladimír Vondruš
cb06737640
glDrawBuffer() is not available in ES3.
...
Using glDrawBuffers() also in this case.
13 years ago
Vladimír Vondruš
deafd8f6ee
No deprecated Buffer::map() in ES3.
13 years ago
Vladimír Vondruš
59b6fb2904
Texture border & anisotropy is available only as ES2 extension.
13 years ago
Vladimír Vondruš
6b59c08c15
Some image & texture formats are available only through ES2 extensions.
...
And ES3 has no extensions now.
13 years ago
Vladimír Vondruš
787e01940f
16bit SNORM internal texture formats are not available in ES3.
...
Don't know why I thought they were.
13 years ago
Vladimír Vondruš
76ac352924
Added FindOpenGLES3.cmake module.
...
Seems that Mesa has both ES2 and ES3 in the same libGLESv2.so. Weird.
13 years ago
Vladimír Vondruš
f18297ab2b
Define MAGNUM_TARGET_GLES3 if targetting ES and not ES2.
...
Makes it easier to disable parts of the code than with this. And this
would also not be future-proof:
defined(MAGNUM_TARGET_GLES) && !defined(MAGNUM_TARGET_GLES2)
13 years ago
Vladimír Vondruš
b0336c240d
Platform: multisampling support in GlutApplication.
13 years ago
Vladimír Vondruš
e8c7213d7a
Platform: multisampling support in Sdl2Application.
13 years ago
Vladimír Vondruš
aa7bdc4b7a
Added multisampling to Renderer::Feature enum.
13 years ago
Vladimír Vondruš
0424e24993
Reordered Renderer::Feature enum.
13 years ago
Vladimír Vondruš
9121902c73
Minor documentation fixes.
13 years ago
Vladimír Vondruš
cdcb37cd0c
Platform: better way to specify application configuration.
...
Each implementation of *Application::Configuration will have different
methods tailored to feature set of the underlying toolkit. Currently
each windowed application's Configuration has only window title (except
NaClApplication) and window size. WindowlessGlxApplication has empty
class. More features will come later. Also created introductionary
documentation for Platform namespace.
13 years ago
Vladimír Vondruš
407071dc96
Math: test also possibility of Unit implicit conversions.
13 years ago
Vladimír Vondruš
32d03530e1
Math: test that implicit conversion vector <-> complex/quat can't compile.
13 years ago
Vladimír Vondruš
37c93468fd
Math: test that implicit conversion of Rectangle type can't compile.
13 years ago
Vladimír Vondruš
51da8bd65b
Math: updated Rectangle test to test constexpr functions.
13 years ago
Vladimír Vondruš
213499e7bb
Math: test that implicit conversion from/to foreign types can't compile.
13 years ago
Vladimír Vondruš
1d5e3fee7a
Math: test that implicit conversion of underlying type can't compile.
13 years ago
Vladimír Vondruš
cc938a29dd
Math: test that implicit conversion of T to Vector<T> won't compile.
...
"Won't compile" tests are another awesome feature of C++11.
13 years ago
Vladimír Vondruš
45ba444fb8
Math: properly test conversion constexpr also in Vector subclasses.
13 years ago
Vladimír Vondruš
ca3b0f7d63
Added debug output operator for Buffer::Target.
13 years ago
Vladimír Vondruš
5f77a12f47
Fixed typos (ahem).
13 years ago
Vladimír Vondruš
ecccbcc1bf
Documented CMake usage and preprocessor variables.
13 years ago
Vladimír Vondruš
2040e34dd6
Documented also CMake side of platform portability.
13 years ago
Vladimír Vondruš
fe45143617
Added dummy documentation file for Platform namespace.
...
Will be written later, hopefully.
13 years ago
Vladimír Vondruš
3a8a95107f
Updated FindCorrade.cmake from Corrade repository.
13 years ago
Vladimír Vondruš
804cd71f3d
Link to namespace-related documentation from namespaces.
13 years ago
Vladimír Vondruš
2c8a4c306c
Platform: added Application and WindowlessApplication aliases.
...
If only one *Application or Windowless*Application header is included,
the class is aliased to Application or WindowlessApplication to simplify
porting.
13 years ago
Vladimír Vondruš
508dd4d94d
Platform: have special MAGNUM_*APPLICATION_MAIN() for each class.
13 years ago
Vladimír Vondruš
29cb2a8d7a
Platform: added MAGNUM_WINDOWLESSAPPLICATION_MAIN() alias.
...
Treating windowless application differently to windowed ones, as they
don't share any API with them.
13 years ago
Vladimír Vondruš
7e1037ceda
FindMagnum: added also MAGNUM_WINDOWLESSAPPLICATION_* aliases.
13 years ago