Vladimír Vondruš
e491a0d7b6
Fixed Buffer documentation to reflect set*Data() changes.
13 years ago
Vladimír Vondruš
5a8d654433
Fix build without MAGNUM_BUILD_DEPRECATED.
...
Updated Buffer test to check all data setting functions.
13 years ago
Vladimír Vondruš
bddf01c3b9
Disable deprecated API if MAGNUM_BUILD_DEPRECATED is set.
...
Causes the compilation to fail.
13 years ago
Vladimír Vondruš
d380e07ac5
Separated deprecated API and deprecated GL API in the docs.
...
New code may not use deprecated API, but for some reasons (support
for old GL versions) might use deprecated GL API.
13 years ago
Vladimír Vondruš
06b6bc967d
Use Corrade's Containers::ArrayReference for Buffer::set*Data().
...
Makes it more usable and allows to remove one overload. The old way is
preserved, but marked as deprecated and will be removed in future
releases.
13 years ago
Vladimír Vondruš
4a983566e6
Buffer-related limit queries.
...
Also printing the values in magnum-info.
13 years ago
Vladimír Vondruš
6d2376dad7
Fixed accidental implicit use of explicit constructor.
...
Spotted with Clang, GCC doesn't care at all. Fixes #12 .
13 years ago
Vladimír Vondruš
cd2a8b74ac
Noexcept moving for Buffer, documented inability to copy.
13 years ago
Vladimír Vondruš
13d5e2a50f
Removed enum-referencing Doxygen workarounds.
...
In 1.8.5 it is now possible to reference directly to enum member.
Hooray! Also added explicit @ref here and there, fixing some referencing
bugs along the way.
13 years ago
Vladimír Vondruš
0382ce70c1
Audio: added Buffer class.
13 years ago
Vladimír Vondruš
e19154be5e
Reducing pointer chasings, part 3a: less pointer passing in root namespace.
...
Passing pointer as function parameter will now mean that it is possible
to pass `nullptr`. Some code examples now look like the parameter is
copied instead of referenced, which is misleading. Updated the
documentation to reflect that more clearly.
13 years ago
Vladimír Vondruš
d04b308aa3
Reducing pointer chasings, part 1: method chaining via references.
...
Makes some cases less consistent (and some convenience shortcuts
impossible), but goes well with the attitude "don't use pointer when it
can't be null".
13 years ago
Vladimír Vondruš
6a877375d4
No need to have virtual destructor in Buffer.
13 years ago
Vladimír Vondruš
99c72ed99b
Initial support for OpenGL 4.4.
13 years ago
Vladimír Vondruš
fbdbd4aa01
Implemented CHROMIUM_map_sub for Buffer.
13 years ago
Vladimír Vondruš
5f0d9297e2
Templated version of Buffer::{data,subData}().
...
More convenient for end user, assert that buffer size is divisible by T
size to avoid some issues.
13 years ago
Vladimír Vondruš
834d68945e
GCC 4.6 compatibility: weird name conflicts. WTF.
13 years ago
Vladimír Vondruš
69a5c2f06f
Buffer data queries are not available in OpenGL ES.
...
Similarly to texture image queries.
13 years ago
Vladimír Vondruš
f7aa2c05a6
Deinlined heavy functions and removed redundant `inline` everywhere else.
13 years ago
Vladimír Vondruš
5b54b07210
Added Buffer::size(), Buffer::data() and Buffer::subData() queries.
13 years ago
Vladimír Vondruš
db71a23e3c
Bring whole Corrade namespace into Magnum namespace.
...
These projects are tightly interconnected anyway, this means a lot less
typing (yay!).
13 years ago
Vladimír Vondruš
ca38c015f0
Refactored Buffer internals to follow GL naming conventions.
...
Similar reasoning as in 4a9b0b36ec .
13 years ago
Vladimír Vondruš
932b9f4377
Method chaining in Buffer.
13 years ago
Vladimír Vondruš
deafd8f6ee
No deprecated Buffer::map() in ES3.
13 years ago
Vladimír Vondruš
ca3b0f7d63
Added debug output operator for Buffer::Target.
13 years ago
Vladimír Vondruš
adde9154cd
Doc++
13 years ago
Vladimír Vondruš
38ec076eda
Minor code cleanup (unused parameters).
13 years ago
Vladimír Vondruš
6a5d75d1e4
Relicensing to MIT/Expat license, part 2: headers.
13 years ago
Vladimír Vondruš
23f91fe339
Doc++
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š
a45454ca73
Using CORRADE_INTERNAL_ASSERT_OUTPUT() where appropriate.
13 years ago
Vladimír Vondruš
35a918d050
Extension-aware Buffer and *Texture data invalidation.
...
If ARB_invalidate_subdata is not available, these functions do nothing,
instead of crashing on null pointer dereference. It results in more
convenient usage, enabling users to call them whenever they want,
improving performance on implementations which supports that.
14 years ago
Vladimír Vondruš
d59297aeeb
Implemented ARB_invalidate_subdata GL 4.3 extension.
...
Framebuffer invalidation is also available in OpenGL ES 3.0 and ES 2.0
using EXT_discard_framebuffer extension.
14 years ago
Vladimír Vondruš
ae801ea945
OpenGL ES compilation fixes & workarounds.
14 years ago
Vladimír Vondruš
6fd67c978e
Buffer memory mapping.
...
I sincerely hope for glMapBuffer() being marked as deprecated.
14 years ago
Vladimír Vondruš
7183110eee
Doc++, @todo++
14 years ago
Vladimír Vondruš
7e66a09461
Marking all constructors explicit, except for matrix and vector classes.
...
It prevents unwanted implicit conversions from e.g. nullptr to Camera,
Vector2 to Physics::Point etc. By making all the constructors explicit
it is easier to routinely add the keyword to all new classes instead of
thinking about cases when to add and when not to.
14 years ago
Vladimír Vondruš
dc1ab80cda
Doc++
14 years ago
Vladimír Vondruš
2acbd49e9c
Renamed Buffered{Image,Texture} to Buffer{Image,Texture}.
...
Buffered* hinted that it has something to do with caching, streaming or
whatever. "Buffer texture" is now also consistent with naming in
specification.
14 years ago
Vladimír Vondruš
c01c522248
Mention Native Client buffer requirements.
...
Allow more convenient target hint setting.
14 years ago
Vladimír Vondruš
8f83485653
Forward declarations for Magnum namespace in Magnum.h header.
14 years ago
Vladimír Vondruš
9701c8dacb
If targetting exactly ES 2.0, hide everything not available there.
...
Some target platforms supply their own OpenGL headers, thus we cannot
use our own from ES 3.0 and compilation fails.
On the other hand, this will be better for users as usage of unsupported
features will be catched right during compilation and not at runtime.
14 years ago
Vladimír Vondruš
bb2fe188db
Updated OpenGL ES support in Buffer and related classes.
14 years ago
Vladimír Vondruš
14192fa40f
Mesh rework, part 6: don't rebind default VAO after draw call.
...
There are a few corner cases namely with binding element buffer, which
should be resolved as soon as possible.
14 years ago
Vladimír Vondruš
4aa01e073e
Code cleanup, doc++
14 years ago
Vladimír Vondruš
53d82bda19
Got rid of default Buffer target.
...
For non-DSA access user can now specify target hint, which will be used
when binding the buffer internally.
14 years ago
Vladimír Vondruš
ddbfca2f95
Don't export private symbols.
14 years ago
Vladimír Vondruš
b9e96d3b08
Documented internal buffer state tracking.
14 years ago
Vladimír Vondruš
f28f5398d3
Added some @todos .
14 years ago
Vladimír Vondruš
6b3781b97f
Tracking Buffer state.
...
Reduces OpenGL call count if subsequently binding the same Buffer into
the same Target.
14 years ago