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
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.
13 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.
13 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