Vladimír Vondruš
a2a66803be
Removing IndexedMesh, part 3: moved last remaining setter to Mesh.
...
Now only the drawing mess needs to be merged.
13 years ago
Vladimír Vondruš
dfb9491433
Saving vertex attribute parameters only if not using VAOs.
...
Same reasoning as in previous commit.
13 years ago
Vladimír Vondruš
9449e330d2
Saving index buffer pointer only if not using VAOs.
...
With VAOs it is not used anyway, might remove the member variable for
platforms with mandatory VAO support altogether.
13 years ago
Vladimír Vondruš
b20c83f258
Removing IndexedMesh, part 2: moved all member variables to Mesh.
...
As Mesh constructor is not exactly trivial, moved it to source, allowing
to hide another function pointer variable.
13 years ago
Vladimír Vondruš
e4fc418db1
Properly specify pointers for all matrix attribute columns.
...
Really need some tests for that.
13 years ago
Vladimír Vondruš
3f1592c23d
Inlined Mesh::setVertexCount().
13 years ago
Vladimír Vondruš
688251add9
Removing IndexedMesh, part 1: moved enums and related stuff to Mesh.
13 years ago
Vladimír Vondruš
a22bf1bf4e
Shaders: don't use explicit attribute location on GL 2.1.
13 years ago
Vladimír Vondruš
1d88310521
Shaders: off-by-one error.
...
Explicit attrib location is supported on GLSL >= 130, not >= 120.
13 years ago
Vladimír Vondruš
b7b955289a
Math: Vector::lerp() can take `t` of arbitrary type.
...
Usable when interpolating e.g. colors in denormalized integral form, as
`t` could be only `0` or `1` in that case, which is pretty unusable.
13 years ago
Vladimír Vondruš
4c3e80b4f1
SceneGraph: added AbstractObject::transformationMatrix().
...
Complement for Object::transformation(), usable from features which
don't want/need to upcast AbstractObject pointer.
13 years ago
Vladimír Vondruš
861e16e1f9
Doc++, @todo+-
13 years ago
Vladimír Vondruš
f16a9d8310
Shorter convenience overload for ResourceManager::set().
13 years ago
Vladimír Vondruš
8ce184ef7b
Debug output for AbstractImage::Format and AbstractImage::Type enums.
13 years ago
Vladimír Vondruš
d175dd1054
Updated workarounds for Doxygen 1.8.2.
...
Removed workarounds for alias templates, variadic templates and
anonymous enums, but 1.8.2 has some bug with forward declarations
causing classes to appear in default namespace, breaking
cross-references.
13 years ago
Vladimír Vondruš
6e61354fde
OpenGL ES compilation fixes.
13 years ago
Vladimír Vondruš
c003f0499d
Assert when improper pixel type is passed to AbstractImage::pixelSize().
13 years ago
Vladimír Vondruš
c8cfa467c0
SceneGraph: actually call animationStopped() after duration is exceeded.
13 years ago
Vladimír Vondruš
8d71d12187
SceneGraph: animationStopped() should be called after duration is exceeded.
...
The test currently fails.
13 years ago
Vladimír Vondruš
d5a8cc0e3c
DebugTools: fixed compilation of Profiler.
...
Some change in recent GCC (4.7.2) caused this to fail building, now
using duration_cast<microseconds>() instead of microseconds(). Also
cleaned up the code by importing std::duration prefix.
13 years ago
Vladimír Vondruš
9ffb8081f3
Got rid of TypeTraits class altogether.
13 years ago
Vladimír Vondruš
976377f0a4
Moved code to check allowed attribute types to internal implementation.
...
TypeTraits class is now not needed at all.
13 years ago
Vladimír Vondruš
a9d25c995f
Mesh: fixed attribute stride computation.
...
The stride was computed always for resulting GLSL type (e.g. vec4) even
if the data were of anoother type (e.g. std::uint8_t[4]). The code is
exceptionally ugly now, time to wrap it with unit tests.
13 years ago
Vladimír Vondruš
f4146bea94
Forgot to rename this to match OpenGL name.
...
It was named this way in the docs, but in the actual code not. Don't
know why.
13 years ago
Vladimír Vondruš
fbeb7b02bc
Minor renaming in shader/mesh guts.
...
Function size() will be used later for commputing size of the attribute,
renaming the original to components().
13 years ago
Vladimír Vondruš
b13d8644b4
Replaced scalar normalization code in Color with Math::[de]normalize().
13 years ago
Vladimír Vondruš
263d8351b6
Math: vector overloads for normalize() and denormalize().
13 years ago
Vladimír Vondruš
ec23a3d13c
Minor code cleanup.
13 years ago
Vladimír Vondruš
ad9a55a867
Doc++
13 years ago
Vladimír Vondruš
4d6d3fde88
Math: scalar/vector implementation of min(), max() and clamp().
...
This is gonna be some ugly template hell.
13 years ago
Vladimír Vondruš
ee5f8766af
Math: make type traits aware of long double.
13 years ago
Vladimír Vondruš
bdba6b7221
Math: no need to have two versions of denormalize(), they are the same.
...
Overlooked in cade175304 .
13 years ago
Vladimír Vondruš
3daefd70a9
Math: simplified internal pow<n>() implementation.
14 years ago
Vladimír Vondruš
2f2d4a4dfd
Removed Magnum::Type and related functionality.
...
The enum is finally completely reimplemented for specific cases with
proper values (Mesh attribute types, index types, pixel types, ...). The
rest currently remaining in TypeTraits.h is used only in Mesh and
AbstractShaderProgram, probably will be moved there.
14 years ago
Vladimír Vondruš
03789a5b4b
Math: got rid of MathTypeTraits::NumericType.
...
Was workaround for printing chars with Corrade::Utility::Debug as
integers, not needed anymore.
14 years ago
Vladimír Vondruš
a4da7b764a
Adapted to Corrade changes.
14 years ago
Vladimír Vondruš
5ca096512e
Forward declaration header for Math namespace.
14 years ago
Vladimír Vondruš
cade175304
Math: finally implemented precise signed/unsigned normalization.
...
(De)normalization from/to [0, 1] for unsigned types and from/to [-1, 1]
for signed types. -1.0 is always denormalized to min+1.
Also updated some tests for Color, as they depended on previous
imprecise implementation.
14 years ago
Vladimír Vondruš
7dc0fc4a4c
Math: Renamed Math.h to Functions.h
...
Math.h is reserved for forward declaration header.
14 years ago
Vladimír Vondruš
3b5b7c71d4
Debug output and configuration value handler for IndexedMesh::IndexType.
...
Mostly copy of what was already done for Type enum.
14 years ago
Vladimír Vondruš
98781b5052
Support for gaps in MeshTools::interleave().
14 years ago
Vladimír Vondruš
42f5ee4ce4
Doc++
14 years ago
Vladimír Vondruš
c8ef795cce
Removed SizeTraits, SizeBasedCall and related mess.
...
The implementation was really frightening and it was really used only in
MeshTools::compressIndices(). Other classes like SizeTraits, Pow and Log
were just waiting to be deleted, nothing of value was lost.
14 years ago
Vladimír Vondruš
ca24fe8f41
Mesh index type cleanup.
...
Using specialized enum instead of global Type and shitload of type
traits to handle it correctly. Removed TypeTraits::indexType() and
cleaned up MeshTools::compressIndices() while at it.
14 years ago
Vladimír Vondruš
9a571abb37
Added OES_element_index_uint ES2 extension to the list.
14 years ago
Vladimír Vondruš
7d0a523618
Moved projection matrix computation to Math namespace.
14 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š
c8444bdbbe
Added EXT_texture_storage ES2 extension to the list.
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š
52300cf402
Math: function for base-2 logarithm.
...
Verbatim copy from Corrade, might be better to have it here too
(possibly some SIMD optimizations?).
14 years ago