Page 1 of 1

Can you help testing Bullet 2.63-RC1?

Posted: Fri Oct 12, 2007 4:15 pm
by Erwin Coumans
Please try out the release candidate for Bullet 2.63 here:

http://www.bulletphysics.com/Bullet/php ... =18&t=1567
Thanks,
Erwin

Re: Can you help testing Bullet 2.63-RC1?

Posted: Fri Oct 12, 2007 5:37 pm
by Enrico
Hi,

I just had a small look at it:

1) Extras/GPUPhysics does not link correctly on Linux and the configure-script does not check if GLew is installed or not.
2) Serialising an btOptimisedBVH finally compiles. However, there are differences in the results between 32Bit and 64Bit systems. I narrowed this down to differences in the template btAlignedObjectArray on these two system types. On 32Bit x86 system, sizeof(btAlignedObjectArray) gives 20 bytes and on 64BIt AMD64 systems the size is 32bytes.
3) Lots and lots of warnings using g++/Linux.

I dont know, what your policy regarding 2) is: Make the serialisation results interchangable between 32Bit and 64 bit systems or not? Maybe it should be stated somewhere...

I will continue testing now...

Best regards,
Enrico

Re: Can you help testing Bullet 2.63-RC1?

Posted: Fri Oct 12, 2007 6:24 pm
by Erwin Coumans
Enrico wrote: 1) Extras/GPUPhysics does not link correctly on Linux and the configure-script does not check if GLew is installed or not.
It shouldn't be included by default. The GPU project is currently dormant, until someone wants to pick it up. I'll update the jam file, not to include it by default.
2) Serialising an btOptimisedBVH finally compiles. However, there are differences in the results between 32Bit and 64Bit systems. I narrowed this down to differences in the template btAlignedObjectArray on these two system types. On 32Bit x86 system, sizeof(btAlignedObjectArray) gives 20 bytes and on 64BIt AMD64 systems the size is 32bytes.
I dont know, what your policy regarding 2) is: Make the serialisation results interchangable between 32Bit and 64 bit systems or not? Maybe it should be stated somewhere...
Good point, there is currently no plan to allow exchange between 32bit and 64bit serialization. It should be possible to exchange between big-endian and little-endian machines, as long as they are both 32bit or both 64bit. I'll add some doxygen comments, and put it in the docs.
3) Lots and lots of warnings using g++/Linux.
Are most of the warnings are in COLLADA_COM and libxml (external projects)? If you can help fixing warnings inside the Bullet projects, a patch would be welcomed :-)

Thanks for the feedback!
Erwin

Re: Can you help testing Bullet 2.63-RC1?

Posted: Sat Oct 13, 2007 12:46 am
by Eternl Knight
Whether this is a MSVC 7.1 issue or something else I am not sure of; but the "libquickstep" will not compile in MSVC 2003 (i.e. MSVC 7.1) as <intrin.h> does not exist.

You also need to add #include <memory.h> in order for memset to be defined in the "#ifdef _MSC_VER" (the __GNUC__ version has #include <string.h> which also defines this)

--EK

Re: Can you help testing Bullet 2.63-RC1?

Posted: Sat Oct 13, 2007 6:46 pm
by Enrico
Hello,
Erwin Coumans wrote:Are most of the warnings are in COLLADA_COM and libxml (external projects)? If you can help fixing warnings inside the Bullet projects, a patch would be welcomed :-)
I fixed most of the warnings in the Bullet libraries and demos. I have not had time for Extras/ :oops:
Get the patch here. Code's license is "whatever license you need" ;)

Following things have been changed:
1) removed lots of warnings due to wrong order in initialiser lists
2) changed return value of getName()-method to "const char*" instead of "char*" (solves lots of warnings)
3) removed some unused variables
4) Removed double entries in Demos/Jamfile
5) added some missing newlines
6) Padding attributes are now set to zero with memset(), added some ctors for this.

Notes:
1) I left two small comments in the source code, just grep for "Enrico".
2) There are still some warnings due to comparison of signed and unsigned integers. I left them all in, not sure what to do with them. Just cast them away? :?:

I tested on Debian GNU/Linux (testing, AMD64) with g++ (GCC) 4.2.1 (Debian 4.2.1-4) and all included demos seem fine :)


Best regards, Enrico

Re: Can you help testing Bullet 2.63-RC1?

Posted: Sat Oct 13, 2007 10:06 pm
by Erwin Coumans
Thanks a lot Enrico, that is a huge patch. Overall it looks fine. I made a few minor changes related to padding initialization (no memset to avoid performance issues), accidential left over <iostream> include. Bullet intentionally doesn't use STL (std::) and some other things like C++ exceptions etc, this should go in a how-to contribute to Bullet document.
Eternl Knight wrote:Whether this is a MSVC 7.1 issue or something else I am not sure of; but the "libquickstep" will not compile in MSVC 2003 (i.e. MSVC 7.1) as <intrin.h> does not exist.
You also need to add #include <memory.h> in order for memset to be defined in the "#ifdef _MSC_VER" (the __GNUC__ version has #include <string.h> which also defines this)
SSE/intrinsics will be removed from quickstep. We should re-implement a fully new SSE version separate from Extras/quickstep.

Thanks for reporting, it will be fixed.

Thanks a lot,
Erwin

Re: Can you help testing Bullet 2.63-RC1?

Posted: Sun Oct 14, 2007 2:08 am
by Erwin Coumans
Bullet 2.63 has been released, including your fixes.

Thanks!
Erwin