Commit Graph

17 Commits

Author SHA1 Message Date
Gael Guennebaud
e5c50afed6 * Quaternion: added dot product and angularDistance functions. The latter is
based on the former.
* opengl_demo: makes IcoSphere better (vertices are instanciated only once) and
               removed the generation of a big geometry for the fancy spheres...
2008-09-11 11:19:34 +00:00
Gael Guennebaud
5e9ee8863e opengl demo, now working:
- quaternion vs euler angles interpolation (though the Euler angle version looks a bit too bad)
 - navigation using either a mapping from 2D screen coordinates to 3D points on a sphere
   or the standard approach mapping mouse displacements as rotations around camera's axes.
2008-09-09 23:17:14 +00:00
Gael Guennebaud
146c9e4494 various stuff in opengl demos such as a better model,
stable trackball for the fly navigation mode, and started
to put some GUI elements...
2008-09-09 18:50:45 +00:00
Gael Guennebaud
c41ceee750 2 typos 2008-09-08 17:08:27 +00:00
Gael Guennebaud
31c33b9ed4 started a small OpenGL demo making use of Eigen's geometry features 2008-09-07 23:15:11 +00:00
Gael Guennebaud
2a2c305c4d not yet 2008-09-03 10:34:05 +00:00
Gael Guennebaud
f52d119b9c Solve a big issue with data alignment and dynamic allocation:
* add a WithAlignedOperatorNew class with overloaded operator new
* make Matrix (and Quaternion, Transform, Hyperplane, etc.) use it
  if needed such that "*(new Vector4) = xpr" does not failed anymore.
* Please: make sure your classes having fixed size Eigen's vector
  or matrice attributes inherit WithAlignedOperatorNew
* add a ei_new_allocator STL memory allocator to use with STL containers.
  This allocator really calls operator new on your types (unlike GCC's
  new_allocator). Example:
  std::vector<Vector4f> data(10);
  will segfault if the vectorization is enabled, instead use:
  std::vector<Vector4f,ei_new_allocator<Vector4f> > data(10);
NOTE: you only have to worry if you deal with fixed-size matrix types
with "sizeof(matrix_type)%16==0"...
2008-09-03 00:32:56 +00:00
Gael Guennebaud
a6d387a359 Various compilation fixes for MSVC 9. All tests compile but some
still fail at runtime in ei_aligned_free() (even without vectorization).
2008-08-19 11:06:40 +00:00
Benoit Jacob
6f09d3a67d - many updates after Cwise change
- fix compilation in product.cpp with std::complex
- fix bug in MatrixBase::operator!=
2008-07-08 07:56:01 +00:00
Benoit Jacob
f5791eeb70 the big Array/Cwise rework as discussed on the mailing list. The new API
can be seen in Eigen/src/Core/Cwise.h.
2008-07-08 00:49:10 +00:00
Benoit Jacob
95549007b3 * fix error in divergence test, now it is even faster
* add comments in render() in case anyone ever reads that :P
2008-07-01 14:23:01 +00:00
Benoit Jacob
a356ebd47d interleaved rendering balances the load better 2008-07-01 14:12:32 +00:00
Benoit Jacob
56d03f181e * multi-threaded rendering
* increased number of iterations, with more iterations done before
testing divergence. results in x2 speedup from vectorization.
2008-07-01 12:01:58 +00:00
Benoit Jacob
cacf986a7f - use double precision to store the position / zoom / other stuff
- some temporary fix to get a +50% improvement from vectorization until
  we have vectorisation for comparisons and redux
2008-06-30 07:33:08 +00:00
Benoit Jacob
fbdecf09e1 fix little bug in computation of max_iter 2008-06-29 12:20:07 +00:00
Benoit Jacob
97a1038653 improve greatly mandelbrot demo:
- much better coloring
- determine max number of iterations and choice between float and double
  at runtime based on zoom level
- do draft renderings with increasing resolution before final rendering
2008-06-29 12:04:00 +00:00
Benoit Jacob
6917be9113 add mandelbrot demo 2008-06-28 20:33:47 +00:00