Vladimír Vondruš
ac3cb1b470
Fixed extension numbers.
13 years ago
Vladimír Vondruš
6f63b046ec
Fixed typo copypasted all over the place.
13 years ago
Vladimír Vondruš
b5a6036d48
Use proper ARB_framebuffer_object extension.
...
Separated EXT_framebuffer_object, EXT_framebuffer_blit,
EXT_framebuffer_multisample and EXT_packed_depth_stencil don't have the
same functionality as ARB_framebuffer_object (e.g. missing
GL_FRAMEBUFFER_UNDEFINED in glCheckFramebufferStatus()) and separated
read/draw binding is only in EXT_framebuffer_blit, which complicates the
internals.
Checked with Mesa 8/9 and OpenGL 2.1, current one has
ARB_framebuffer_object and also all these four, Mesa 7.7 didn't have
EXT_framebuffer_multisample, but that's a long time ago, so not
supporting these separate extensions shouldn't be an issue.
The problem with unavailable separate binding points remains on OpenGL
ES 2.0, there are three different extensions bringing that
functionality, thus the code managing the available binding points
remains there.
13 years ago
Vladimír Vondruš
4380e95a67
Added debug output for Renderer error and reset status queries.
13 years ago
Vladimír Vondruš
8ef1a9a0ca
Added Renderer::error().
13 years ago
Vladimír Vondruš
eaa486a6e9
Added KHR_debug to ES2 extension list.
13 years ago
Vladimír Vondruš
261250f074
Shaders: fix port of *Vector shaders to old GLSL.
...
Texture layer binding was never set and there were various GLSL
compilation errors.
13 years ago
Vladimír Vondruš
252f489eaa
Don't query shader info log if it contains only '\0' character.
13 years ago
Vladimír Vondruš
e7fd8740bb
Fallback for texture storage feature.
...
It's now possible to call *Texture::setStorage() even if
OpenGL 4.2, ARB_texture_storage, OpenGL ES 3.0 or EXT_texture_storage in
ES 2.0 is not available, the function will internally use sequence of
setImage() calls as fallback.
It seems to me that this behavior is better than forcing the user to
always check for extension presence and then implementing this
functionality again and again. The huge switches for setting proper
image format and type are ugly though, but according to specs they must
be set even if we are sending no data (which is weird).
13 years ago
Vladimír Vondruš
6d6d6248ab
Reorganize TextureFormat enum a bit.
...
Special RGB values together, RGBA values together, Depth values
together, DepthStencil values together. Left sized internal formats in
the same order, though.
13 years ago
Vladimír Vondruš
73db7f8d38
Proper reference in TextureFormat enum value documentation.
13 years ago
Vladimír Vondruš
6346e128e1
Always define TextureFormat::RGB565.
...
Don't care if its defined or not, makes it very hard to use that value.
13 years ago
Vladimír Vondruš
adaf8442e7
Fixed typo in TextureFormat::*Bptc* enum values.
13 years ago
Vladimír Vondruš
6ff652cbbd
Minor cleanup in image and texture format enums.
...
Removed hierarchic and confusing `#ifdef`s.
13 years ago
Vladimír Vondruš
153e5c784a
Sanity check for OpenGL version in Context.
...
I though this check was present since forever, but isn't. Maybe it's
hidden somewhere else.
13 years ago
Vladimír Vondruš
c38407c0bb
Abort instead of exit from MAGNUM_ASSERT_*_SUPPORTED() macros.
13 years ago
Vladimír Vondruš
fcc143b14e
Missing #include.
13 years ago
Vladimír Vondruš
f0e9871f10
Platform: #undef another mess from Xorg headers.
13 years ago
Vladimír Vondruš
f0db90c8ef
Added ES2-only support for GL_LUMINANCE{,_ALPHA}.
...
It is deprecated, but many ES2 implementations don't support
EXT_texture_rg, thus this is the only way to have single- and
two-component textures without wasting precious memory. The enum value
isn't exposed on desktop OpenGL and ES3. GL_ALPHA is not supported, as
it doesn't bring any new functionality (it is also single-component
and thus can be interchanged with GL_LUMINANCE).
13 years ago
Vladimír Vondruš
8453d01ffe
Added section for ES2-compatibility-only features into documentation.
13 years ago
Vladimír Vondruš
54cecb35ea
Merge branch 'master' into compatibility
13 years ago
Vladimír Vondruš
8d70e3e3a9
Shaders: allow default construction of MeshVisualizer.
...
While it doesn't make any sense, it is more convenient than writing {}
when testing it.
13 years ago
Vladimír Vondruš
20fd1f7afc
Shaders: really ported MeshVisualizer to ES.
13 years ago
Vladimír Vondruš
abc8bfcfc5
Fixed resource import headers.
13 years ago
Vladimír Vondruš
55bd644c2d
Merge branch 'master' into compatibility
...
Conflicts:
src/Shader.cpp
13 years ago
Vladimír Vondruš
0c31f5dbe4
NaCl's newlib doesn't have std::to_string().
13 years ago
Vladimír Vondruš
7f51765c36
Oh yeah, coding while drunk.
...
F'ed up in c2a5919b5a .
13 years ago
Vladimír Vondruš
c1d82464bd
Merge branch 'master' into compatibility
13 years ago
Vladimír Vondruš
f78ac39ab6
Shapes: overlooked `typename`.
...
Spotted by good ol' GCC 4.4. Newer compilers don't bother with that
verbosity at all.
13 years ago
Vladimír Vondruš
79c0dc9550
Shaders: use Context::isVersionSupported() instead of ad-hoc solution.
...
Also removed redundant branching for ES.
13 years ago
Vladimír Vondruš
a629582c09
GCC 4.4 compatibility: no comparison operators for strongly typed enums.
13 years ago
Vladimír Vondruš
6ec472038b
GCC 4.4 compatibility: ambiguous std::to_string() call.
...
It shouldn't be. What is ambiguous in conversion from `unsigned long
int` to `unsigned long long int`?
13 years ago
Vladimír Vondruš
6e07f8e436
GCC 4.4 compatibility: defaulted non-inline function causes linker error.
...
Follow-up for 3f056ac3fd . In 4.5 at least
virtual functions were working, in 4.4 even they cause an error.
13 years ago
Vladimír Vondruš
627c74c603
GCC 4.4 compatibility: no explicit conversion operators.
13 years ago
Vladimír Vondruš
e69031b12c
GCC 4.4 compatibility: no std::declval here.
13 years ago
Vladimír Vondruš
5f29207114
Merge branch 'master' into compatibility
13 years ago
Vladimír Vondruš
c253fa74d3
Shapes: simplified collision dispatch implementation with macro.
13 years ago
Vladimír Vondruš
b8b6b63919
SceneGraph: use `virtual` where it hurts less.
...
Having `virtual` destructor in less templated base is better than having
it repeated in five times more subclass specializations.
13 years ago
Vladimír Vondruš
392dc54635
Moved BufferTextureFormat enum before the class.
...
Just to make merging into the compatibility branch easier.
13 years ago
Vladimír Vondruš
c4ab9e461f
GCC 4.5 compatibility: can't `default` an `explicit` declaration.
13 years ago
Vladimír Vondruš
3f056ac3fd
GCC 4.5 compatibility: defaulted non-inline function causes linker error.
13 years ago
Vladimír Vondruš
ead852b102
GCC 4.5 compatibility: no forward enum declarations.
13 years ago
Vladimír Vondruš
6a91e8f14f
GCC 4.5 compatibility: no range-based for.
13 years ago
Vladimír Vondruš
878343ffca
Merge branch 'master' into compatibility
13 years ago
Vladimír Vondruš
834d68945e
GCC 4.6 compatibility: weird name conflicts. WTF.
13 years ago
Vladimír Vondruš
d23942f1bc
Fixed comma at the end of enumeration list.
13 years ago
Vladimír Vondruš
a9eb5509ef
Merge branch 'master' into compatibility
...
Conflicts:
src/AbstractFramebuffer.h
src/Context.cpp
src/Context.h
src/Framebuffer.h
src/Math/Angle.h
src/Math/Complex.h
src/Math/Matrix3.h
src/Math/Matrix4.h
src/Math/Quaternion.h
src/Math/RectangularMatrix.h
src/Math/Unit.h
src/Math/Vector.h
src/Math/Vector2.h
src/Math/Vector3.h
src/Math/Vector4.h
src/MeshTools/Clean.h
src/Physics/AbstractShape.h
src/Physics/Test/ShapeGroupTest.cpp
src/Physics/Test/ShapeTestBase.h
src/ResourceManager.h
src/SceneGraph/DualComplexTransformation.h
src/SceneGraph/DualQuaternionTransformation.h
src/SceneGraph/FeatureGroup.h
src/SceneGraph/MatrixTransformation2D.h
src/SceneGraph/MatrixTransformation3D.h
src/SceneGraph/Object.h
src/SceneGraph/RigidMatrixTransformation2D.h
src/SceneGraph/RigidMatrixTransformation3D.h
13 years ago
Vladimír Vondruš
b9a72bd3d1
Shaders: ported MeshVisualizer to not require geometry shader.
...
Wireframe width and smoothness isn't ported yet, because I don't fully
understand the behavior of standard derivatives in fragment shader.
13 years ago
Vladimír Vondruš
9d1d4b5ef1
Properly number shader sources.
...
Previously the sources were numbered 1, 3, 5 etc., which is wrong.
13 years ago
Vladimír Vondruš
64b00278b8
No need to add `#line` directive also before `#version` line.
13 years ago