Quaternions and SLERP

Hello, I'm currently searching for a BLAS and geometrical library in C++ for ray-tracing simulation. I would like to know if Boost provides an implementation of the SLERP (Spherical Linear Interpolation) with Quaternions. As far as I could read in the Boost::Quaternions docs, it is not integrated, maybe it is elsewhere in boost ? I also found QVM which is not integrated with boost but extensively uses it. Is that in your mind a reliable solution ? (I have to compute a huge set of quaternion interpolations and compositions during my simulation steps). Thanks in advance for your replies, Regards, Yves

On Wed, Oct 12, 2011 at 7:28 AM, Yves Rogez
Hello,
I'm currently searching for a BLAS and geometrical library in C++ for ray-tracing simulation. I would like to know if Boost provides an implementation of the SLERP (Spherical Linear Interpolation) with Quaternions. As far as I could read in the Boost::Quaternions docs, it is not integrated, maybe it is elsewhere in boost ?
I also found QVM which is not integrated with boost but extensively uses it. Is that in your mind a reliable solution ? (I have to compute a huge set of quaternion interpolations and compositions during my simulation steps).
(Boost) QVM is designed to be a user-friendly Quaternion-Vector-Matrix library. Such easy to use interfaces aren't appropriate when you need to process gazillion objects. I'd suggest implementing your interpolations on the GPU. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode

Thank you for your reply. I will execute my code on a huge computing gris with heterogeneous hardware, so a GPU implementation is not intended in the near future... Maybe later in an optimization phase. Any other idea to handle quaternions ? Thanks, Yves

On Wed, Oct 12, 2011 at 1:10 PM, Yves Rogez
Thank you for your reply. I will execute my code on a huge computing gris with heterogeneous hardware, so a GPU implementation is not intended in the near future... Maybe later in an optimization phase. Any other idea to handle quaternions ?
If you decide to use GPUs now, this will force certain design decisions on you which you won't arrive at "naturally." You can't just write everything in C++ and then port to GPU as a "later optimization phase" (unless you do a complete rewrite.) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode

I know that but we have to make the code run now onto hardware that does not embed GPU. A particular version will be developed for GPU in case of need (with our design, a kernel could be extracted relatively easily). However, I do not eliminate the solution of re-implementing my own quaternion lib. I've seen yesterday that Eigen 3 embeds a quaternions implementation, have you ever assessed it ? Regards, Yves
participants (2)
-
Emil Dotchevski
-
Yves Rogez