Vladimír Vondruš
85b715e115
Trade: added forward declaration header.
13 years ago
Vladimír Vondruš
59a3a7029d
SceneGraph: allow duplicate occurences in Object::transformations().
...
Fixes common case where one Object has multiple Drawable features
attached (one for regular mesh and one e.g. debug renderer).
13 years ago
Vladimír Vondruš
b86f107396
SceneGraph: split object transformations test into more functions.
13 years ago
Vladimír Vondruš
177898f93c
SceneGraph: code cleanup, documentation, fixed assertions.
...
The original assertion didn't actually check anything, because the list
was always empty. Moved/copied it to relevant places.
13 years ago
Vladimír Vondruš
2267627242
Text: return rendered rectangle from TextRenderer::render().
13 years ago
Vladimír Vondruš
5e8625bd98
SceneGraph: don't pass duration in Animable constructor.
...
It gets lost in the whole parameter list, using protected function
setDuration() instead. Default is `0.0f`, which means infinite duration.
13 years ago
Vladimír Vondruš
58f936386f
Doc++
13 years ago
Vladimír Vondruš
09b115679b
MeshTools: making use of index range in compressIndices().
13 years ago
Vladimír Vondruš
f07e4743f9
Ability to specify index range in Mesh::setIndexBuffer().
13 years ago
Vladimír Vondruš
d20682f3e5
Mesh: don't allow specifying index data from client memory.
13 years ago
Vladimír Vondruš
a1c37258d6
Added missing const.
13 years ago
Vladimír Vondruš
b9513d28cb
Merged index type setting to Mesh::setIndexBuffer() and added offset.
...
Now addVertexBuffer() etc. and setIndexBuffer() are even more similar.
13 years ago
Vladimír Vondruš
ea2faa91b7
Explicit offset also in Mesh::addVertexBuffer().
...
The offset is present in all other functions, adding it just for
consistency (although it is redundant here).
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š
82f3b948af
Trade: debug output for ObjectData*D::InstanceType enum.
13 years ago
Vladimír Vondruš
80661e4e61
Trade: resource names are handled by importer, not *Data classes.
...
In most cases the names aren't even supported/used and thus it is
wasteful to have them in all *Data classes. If the importer wants to
support them, it would reimplement *name() functions instead.
13 years ago
Vladimír Vondruš
0cba8db268
Shaders: added missing 3D version of text shader.
13 years ago
Vladimír Vondruš
55477b98fe
DebugTools: don't use CORRADE_INTERNAL_ASSERT() for user-triggered error.
...
What was I thinking... Also updated the documentation to warn about it.
13 years ago
Vladimír Vondruš
fecb5eec29
DebugTools: simplified renderers example code.
...
ResourceManager::set() can autodetect the type passed and it now has
also more convenient overload.
13 years ago
Vladimír Vondruš
1415f70a7f
Doc++
13 years ago
Vladimír Vondruš
c52f64b381
SceneGraph: testing everything in transformations.
13 years ago
Vladimír Vondruš
64a0645724
DebugTools: ObjectShape must contain shape when creating renderer.
13 years ago
Vladimír Vondruš
dc798b7320
Shaders: added missing 3D version of FlatShader vertex shader.
...
Fragment shader is common for both 2D and 3D.
13 years ago
Vladimír Vondruš
196c68ccf1
DebugTools: added missing 3D alternatives.
...
They are implemented internally, but I somehow forgot to add them to the
switch.
13 years ago
Vladimír Vondruš
389ed07806
SceneGraph: initial per-transformation unit tests.
13 years ago
Vladimír Vondruš
ddb8cd5052
Blind fix for some image formats not present in ES3.
...
I want ES3 in Mesa now so I can test that already.
13 years ago
Vladimír Vondruš
0c4d433f70
Quick dirty fix for element array buffer binding in VAOs.
...
If no DSA is available and element array buffer was bound previously
(e.g. because data were uploaded to it), after binding VAO the binding
point is apparently reset to 0. But our state tracking thinks that the
buffer is still bound and thus doesn't bind it explicitly again when
asked for it. It causes crash in the driver, because it tries to read
from zero adress in client memory instead of bound buffer.
Needs to be solved properly, when I found out an clean solution.
13 years ago
Vladimír Vondruš
834d08bdea
Emit fake glViewport() call for the first time if ApiTrace is detected.
13 years ago
Vladimír Vondruš
c593594c3f
Doc++
13 years ago
Vladimír Vondruš
dc5a4d83d9
Removing IndexedMesh, part 5: merged documentation, removed IndexedMesh.
13 years ago
Vladimír Vondruš
a8abbdb7d3
Removing IndexedMesh, part 4: merged draw algorithm.
...
Still source-compatible, next step is to merge the documentation and
remove IndexedMesh stub altogether.
13 years ago
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