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š
b9cee8e014
Support for ES2 extension NV_texture_border_clamp.
13 years ago
Vladimír Vondruš
549b1466fc
Support for ES2 extension ANGLE_depth_texture.
13 years ago
Vladimír Vondruš
f56ebd4507
Fix OES_required_internalformat-related enums in AbstractTexture.
...
Some values are present in ES2 itself, thus no need to use the ones
defined by the extension for ES1.
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š
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š
2d2d1c07f4
Using new type aliases in whole root Magnum namespace.
13 years ago
Vladimír Vondruš
a7f7e76da8
Added TODOs.
13 years ago
Vladimír Vondruš
ff06d88a24
Extension header for OpenGL ES is available now.
...
ES3 will need to be handled differently, not bothering with that for now.
13 years ago
Vladimír Vondruš
692f4854a7
Ability to retrieve texture image size in given mip level.
13 years ago
Vladimír Vondruš
18ad4307aa
Implementation for texture level parameter query.
13 years ago
Vladimír Vondruš
a1c37258d6
Added missing const.
13 years ago
Vladimír Vondruš
e29b608632
Proper passing of image data to textures.
...
Explicitly unbinding pixel unpack buffer when passing data from client
memory and binding it when passing data from BufferImage.
13 years ago
Vladimír Vondruš
f83c2b601b
Implemented ARB_texture_storage.
...
Equivalent functionality is in ES3 and also EXT_texture_storage ES2
extension.
14 years ago
Vladimír Vondruš
23d481afb7
Doc++
...
Not using @copydoc for Texture derivatives but linking manually instead.
It looks better and doesn't have mixed up irrelevant information.
14 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š
03f6095b9d
Forgot to hide DSA functions when targetting ES.
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š
fdded7281d
Renamed *Texture::set*Data() to set*Image().
...
Better consistency with OpenGL naming.
14 years ago
Vladimír Vondruš
3f727b4abc
Doc: fixed a few issues with OpenGL ES extensions.
14 years ago
Vladimír Vondruš
ebf0107ab9
Move constructor and move assignment for textures.
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š
90ed04dc7a
Image formats rework.
...
Renamed the enums and enum values to be consistent with OpenGL, added
integer types, fixed OpenGL ES compatibility.
14 years ago
Vladimír Vondruš
9153bcd957
Internal texture and renderbuffer format rework.
...
Got rid of InternalFormat class, now it is all in one big enum, as each
version (desktop, ES2, ES3) has different requirements and it can't be
done that way anymore (moreover that was terribly ugly solution).
14 years ago
Vladimír Vondruš
43f6dbc72d
Using integer vector aliases all over the place.
14 years ago
Vladimír Vondruš
44a10e0e9d
Documentation and example usage of textures.
...
Mentions some not-yet-done features such as Vector2i or proper texture
formats.
14 years ago
Vladimír Vondruš
06e526d7a1
Using Array instead of Vector for *Texture::setWrapping().
...
Allows simple and convenient call with one value for all axes instead of
that unholy mess:
texture.setWrapping(Texture2D::Wrapping::ClampToEdge);
Previous way (for entertainment purposes):
textute.setWrapping(Math::Vector2<Texture2D::Wrapping>(
Texture2D::Wrapping::ClampToEdge));
14 years ago
Vladimír Vondruš
4545eb8987
Doc++
14 years ago
Vladimír Vondruš
5b707d3524
Using GLfloat as default template parameter also in Color.
14 years ago
Vladimír Vondruš
8f83485653
Forward declarations for Magnum namespace in Magnum.h header.
14 years ago
Vladimír Vondruš
a3c37cd277
Doc++, minor cleanup.
14 years ago
Vladimír Vondruš
93a5e7230f
Use OpenGL ES 2.0 specific definitions for extension-only functionality.
...
If targetting explicitly OpenGL ES 2.0, only gl2.h is included (not
gl3.h).
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š
67dbdd4b00
Fixed compiler warning when compiling with OpenGL ES support.
14 years ago
Vladimír Vondruš
b12792d15a
Updated OpenGL ES support in textures.
14 years ago
Vladimír Vondruš
9f7ae0b34f
Overloaded AbstractTexture methods in subclasses for better chaining.
...
Allows to conveniently set the data after fully configuring the texture,
so OpenGL can optimize the data to match the settings. Advice taken from
http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesForWorkingWithTextureData/TechniquesForWorkingWithTextureData.html#//apple_ref/doc/uid/TP40008793-CH104-SW1
14 years ago
Vladimír Vondruš
1f43839e04
Using EXT_direct_state_access in textures.
...
Saves unnecessary calls to glActiveTexture() and glBindTexture().
14 years ago
Vladimír Vondruš
1f3c360cb2
Using bindInternal() directly in AbstractTexture::DataHelper.
14 years ago
Vladimír Vondruš
ddbfca2f95
Don't export private symbols.
14 years ago
Vladimír Vondruš
f9099a86bf
Tracking texture state - bindings and limits.
14 years ago
Vladimír Vondruš
2595974fae
Refactoring of internal OpenGL object names.
14 years ago
Vladimír Vondruš
1077370937
Using fixed-size 8bit integer for dimension count.
...
There can be only one, two or three dimensions, so why to use eight
times larger type than needed?
14 years ago
Vladimír Vondruš
64fae952dd
Follow-up fix for previous commit.
14 years ago
Vladimír Vondruš
00cc00311b
Workarounds for old GLEW versions (tested on 1.6).
...
GLEW defines some extensions on its own and is making mistakes, which
aren't later resolved by including the official header, because the
extension is already defined in glew.h.
Hopefully these are the first and last errors found.
14 years ago
Vladimír Vondruš
bd665cb280
More texture and renderbuffer internal formats supported in OpenGL ES 3.0.
14 years ago
Vladimír Vondruš
5310326e69
Enabled RGB565 and BPTC textures, as they are now in headers.
14 years ago
Vladimír Vondruš
035bd4d376
Links to documentation of related gl*() function.
...
Each function touching OpenGL now has list of all related functions
touching OpenGL.
14 years ago