eigen

This is the brand-spanking-new code I’m working on right now, so if you enable it in your build you do so at your own risk. However, as it happens, I think I’m done, so I can recommend you give it a try.

Version 3.0.4 is what I used to develop with. Unpack the eigen tarball into panda3d/thirdparty/win-libs-vc9/eigen/include, eliminating the parent directory name, so that there exists a file panda3d/thirdparty/win-libs-vc9/eigen/include/Eigen/Dense .

The bad news is that as a large template library, Eigen dramatically slows down Panda’s compilation time. On my computers, I’m now getting more than 3 hours for a clean build, where it use to compile in about 45 minutes. (This reminds me again one reason why I dislike template libraries so much. Still, at least it’s not as bad as Boost.)

The good news is that the resulting compiled binary is noticeably faster, especially for computing animations.

Edit: I should add that you will want to empty your model-cache and/or re-bamify any models in order to take full advantage of the new SSE2 enhancements provided by Eigen. (Your bam files need to have the proper 16-byte alignment baked in at bam generation time.)

David