Vladimír Vondruš
4bcc805616
Moved add/subtract operators from Vector to RectangularMatrix.
14 years ago
Vladimír Vondruš
90881e7337
New base for matrices and vectors: RectangularMatrix.
...
Currently moved only non-square functionality from Matrix there. Also
static constant members such as row/column count and size are now
lowercase, as they are variables, not types.
14 years ago
Vladimír Vondruš
070c4c1901
Removed unneeded friend declaration.
14 years ago
Vladimír Vondruš
9461f780c4
Ability to set buffer (sub)data from fixed-size array.
...
Currently you had to do this, even if sizeof(data) was known at compile
time:
GLfloat data[] = { 2.0f, -1.5f, 3.0f, 7.0f };
buffer.setData(sizeof(data), data, usage);
Now it's enough to do this:
buffer.setData(data, usage);
14 years ago
Vladimír Vondruš
a386a5ed35
OpenGL ES compilation fixes.
14 years ago
Vladimír Vondruš
0e74c3847d
Support for storing matrices and vectors in configuration.
14 years ago
Vladimír Vondruš
d5d4215a45
Color: test for debug operators.
14 years ago
Vladimír Vondruš
1ade64ca6b
New crossreferenced @debugoperator alias.
14 years ago
Vladimír Vondruš
2b62cc4012
Prefer to use (col, row) instead of [col][row] on matrices.
...
They should be in theory both compiled to the same code, but in practice
[][] sometimes fails during optimization.
14 years ago
Vladimír Vondruš
a5b8afa122
Added Vector2::*Scale() and Vector3::*Scale().
...
Complements to *Axis for scaling.
14 years ago
Vladimír Vondruš
d96cb96d60
Documented convenience functions on vectors and angles.
14 years ago
Vladimír Vondruš
b8750d3702
Added Vector2::*Axis(), similar to those in Vector3.
14 years ago
Vladimír Vondruš
924e4f82ce
Camera: added function to retrieve size of XY projection plane.
14 years ago
Vladimír Vondruš
236e0abc58
Camera: computing projection scale directly from projection matrix.
...
Storing scale as independent (and inverted) value and updating it
separately from projection matrix is just plain wrong.
14 years ago
Vladimír Vondruš
31ead0e35d
SceneGraph: added forgotten extern template.
14 years ago
Vladimír Vondruš
e1641fb5c1
Doc++
14 years ago
Vladimír Vondruš
8a5e7abd30
SceneGraph: added tests for 2D projection and default projections.
14 years ago
Vladimír Vondruš
dd5635a3ab
AbstractXContext: added support for mouse motion event.
14 years ago
Vladimír Vondruš
f35a71a974
Doc++
14 years ago
Vladimír Vondruš
c83de594c2
AbstractXContext: ability to exit from main loop, added Esc key.
14 years ago
Vladimír Vondruš
1a6037ff5d
Adapted to Corrade changes, added operators for enum sets.
14 years ago
Vladimír Vondruš
8f3abe9dad
AbstractXContext: added modifiers to key and mouse events.
14 years ago
Vladimír Vondruš
fa50c8fe78
AbstractXContext: store viewport size in the right vector type.
14 years ago
Vladimír Vondruš
9d63f35279
Sdl2Context: split mouseEvent to mousePressEvent and mouseReleaseEvent.
...
Preserving consistency with GlutContext and *XContext.
14 years ago
Vladimír Vondruš
b3a5e36c73
Doc++, code cleanup.
14 years ago
Vladimír Vondruš
4a207c6556
Simplified camera projection matrix creation.
...
It doesn't need to be decomposed in many matrix multiplications which
still fail to go properly together.
14 years ago
Vladimír Vondruš
0ca0f03f1c
Implemented AbstractXContext::redraw().
14 years ago
Vladimír Vondruš
070c5ba706
Sdl2Context: calling redraw() in drawEvent() didn't have any effect.
14 years ago
Vladimír Vondruš
436c07a706
Removed done @todo .
14 years ago
Vladimír Vondruš
31e4e8d95e
Added GLX context.
14 years ago
Vladimír Vondruš
a3bc29a000
Separate class for extension wrangler initialization.
14 years ago
Vladimír Vondruš
e372a71636
Decoupled EGL interface from XEglContext.
...
New class EglInterface now handles only EGL, AbstractXContext is able to
take any OpenGL interface sublassed from AbstractGlInterface.
14 years ago
Vladimír Vondruš
0f579efe85
Undef some more Xlib nonsense.
14 years ago
Vladimír Vondruš
442c9629ae
Code reorganization.
14 years ago
Vladimír Vondruš
a46b51b11f
Updated for OpenGL ES 2 support.
14 years ago
Vladimír Vondruš
57b064a2ef
Pixel pack buffer isn't available on ES2 either.
14 years ago
Vladimír Vondruš
a87141b250
Mention required version/extension in shader code.
14 years ago
Vladimír Vondruš
68872b03cf
Added @requires_{gl43,gles30,es_extension} Doxygen aliases.
14 years ago
Vladimír Vondruš
db105839c5
Doc++
14 years ago
Vladimír Vondruš
61cac0f1b3
Renamed EglContext to XEglContext.
...
X11 window and event handling will be used also elsewhere for desktop
OpenGL, reflect its presence in the class name.
14 years ago
Vladimír Vondruš
3298c5181a
SceneGraph: Hiding LinkedList/LinkedListItem methods in Object.
...
All of them have appropriate aliases, so it's not needed to expose both
in public interface.
14 years ago
Vladimír Vondruš
85de3109a9
Adapted to Corrade changes.
14 years ago
Vladimír Vondruš
881f07ec76
Added Object2D::move() to manage 2D stacking order.
14 years ago
Vladimír Vondruš
58abfdeeee
SceneGraph: Using linked list from Corrade instead of std::set.
...
Resulting (debug) executables are ~100 kB smaller, all operations
which were previously logarithmic are now done in constant time and
the whole implementation is a lot simpler.
14 years ago
Vladimír Vondruš
aa80ac55ee
SceneGraph: Added @todos for some Object weirdness.
14 years ago
Vladimír Vondruš
71f7e241fa
SceneGraph: removed fugly hack for detecting scene.
...
Previously the scene was its own parent, which was good sometimes back
then, but it became so ugly and complicated hack ("my friend has access
to my privates"-style) that it needed to be replaced with something less
ugly.
Now there is an function isScene() which is overloaded in Scene. Yes,
it's possible to overload it anywhere else, but you better shouldn't
even think about it.
14 years ago
Vladimír Vondruš
af8b01da88
SceneGraph: default Camera aspect ratio policy is to not preserve.
...
I thought and believed it was like that since forever, but I was wrong.
14 years ago
Vladimír Vondruš
d43e18a741
Initial support for 2D scene graph.
14 years ago
Vladimír Vondruš
c6e14dd348
SceneGraph: Initial support for projections with aspect ratio != 1:1.
...
Orthographic projection done, perspective projection needs total rework,
leaving it for later.
14 years ago
Vladimír Vondruš
27bbf23dff
SceneGraph: Simplified Implementation::Camera<3>::fixAspectRatio().
14 years ago