Vladimír Vondruš
6882cd9447
Fixed example (strongly typed enums) in AbstractShaderProgram.
14 years ago
Vladimír Vondruš
b9ed4159e0
Framebuffer: don't allow invalid bits to be present in *Mask enum sets.
...
Now ~Framebuffer::Clear::Color is equal to
Framebuffer::Clear::Depth|Framebuffer::Clear::Stencil, which wasn't the
case before, the same for BlitMask.
14 years ago
Vladimír Vondruš
685be07a8f
Removed parameter-less clear() from Framebuffer.
...
Automatic behavior could cause harm, as the stencil/depth test could be
temporarily disabled for some parts of the scene (but enabled for the
rest), causing clear() to leave stencil/depth buffer untouched.
14 years ago
Vladimír Vondruš
aeda5009df
Inlined simple function.
14 years ago
Vladimír Vondruš
268f678221
SceneGraph: Camera aspect ratio was not fixed after changing policy.
...
Also added test for projectionSize(), which couldn't be added before
because of gl*() calls.
14 years ago
Vladimír Vondruš
e1c22b9ca2
Don't do anything OpenGL-related inside Camera itself.
...
* The user might not want to call Framebuffer::clear(), because there
could be something already rendered with another camera.
* The user might not want to call Framebuffer::setViewport(), because
there could be different framebuffer attached.
14 years ago
Vladimír Vondruš
37b6049a62
Initial version of Profiler class.
14 years ago
Vladimír Vondruš
8ca083691a
SceneGraph: compute projection size from aspectratio-corrected matrix.
...
It isn't tested anywhere, because Camera is calling glViewport().
14 years ago
Vladimír Vondruš
08f26a7e3a
Oops, premature refactoring.
...
RectangularMatrix doesn't have ones on diagonal by default.
14 years ago
Vladimír Vondruš
1727357cc5
Gauss-Jordan elimination.
14 years ago
Vladimír Vondruš
742a75277d
Moved unary operator- from Vector to RectangularMatrix.
14 years ago
Vladimír Vondruš
166afd5248
Documented missing features in Mesh in OpenGL ES.
14 years ago
Vladimír Vondruš
e21c9ca3a5
Function for computing trace of square matrix.
14 years ago
Vladimír Vondruš
3558859cc6
Utility function for clamping value in given limits.
14 years ago
Vladimír Vondruš
fb61c22e07
Fixed matrix multiplication in RectangularMatrix subclasses.
...
Now all possible cases are properly handled (row vector * column vector,
column vector * row vector, ...). All operators taking arbitrary type as
argument (element-wise multiplication) now have std::enable_if only for
numerical types.
14 years ago
Vladimír Vondruš
70402d687f
Added missing #include.
14 years ago
Vladimír Vondruš
630a415324
Non-constant access to image data.
...
Sometimes something needs to modify the data (in similar way it modifies
e.g. MeshData) and there is no reason to forbid that, as the data must
be non-const for delete[] operator anyway. There might be slight problem
with ImageWrapper, which should be able to wrap const data, but
currently nothing needs it.
14 years ago
Vladimír Vondruš
357b744d59
Vector function and operator reimplementation also for Color.
14 years ago
Vladimír Vondruš
8911dbdffe
Moved multiplication and division from Vector to RectangularMatrix.
14 years ago
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