| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Olivier
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some concerns were expressed about the float precision of QMatrix4x4,
which this change addresses by using qreal instead.
The QVector2D/3D/4D classes still use float internally, so that they
can be used directly in large arrays of vertex values to be uploaded
to an OpenGL server.
QQuaternion is a client-side class, and it should produce rotations
that are consistent with QMatrix4x4. So its precision was changed too.
A consequence of this change is that the following no longer works
in a portable fashion:
QMatrix4x4 mat;
...
glLoadMatrixf(mat.constData());
The caller must now repack the argument to convert from qreal to GLfloat.
Reviewed-by: Michael Goddard
Reviewed-by: Andreas
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
Existing QVariant-capable classes in QtGui like QColor, QPixmap,
etc have "operator QVariant()". This change adds the same operators
for QVector2D, QVector3D, QVector4D, QQuaternion, and QMatrix4x4.
Reviewed-by: Justin McPherson
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the known factorization trick to speed-up quaternion multiplication.
Now we need only 9 floating-point multiplications, instead of 16 (but
at the cost of extra additions and subtractions).
Callgrind shows that the function now takes 299 instructions instead of
318 instructions, which is not a big win. However I assume the speed-up
has a better effect for mobile CPU, where multiplications are more
expensive.
Reviewed-by: Rhys Weatherley
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
| |
The MODULE placeholder shouldn't be used anymore, and neither should the
old Trolltech license header.
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
| |
nlerp() implements "normalized linear interpolation", which is faster
than slerp() and gives approximate results that are good enough for
some applications.
Reviewed-by: trustme
|
|
|
|
|
|
| |
slerp() is the more common-place name in the 3D community.
Reviewed-by: trustme
|
|
|
|
|
|
|
|
| |
The int constructors existed to make fixed-point conversions faster
in certain circumstances. With the removal of fixed-point support,
they are no longer required.
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
| |
The main use case for fixed-point support is to build large
arrays of vertices. This can be handled using qvertextype or
something similar at higher levels. So it isn't worth risking
numerical instability in the core classes.
Reviewed-by: trustme
|
|
|
|
|
|
| |
These sources had the old headers. Update to the new LGPL ones.
Reviewed-by: TrustMe
|
|
|