Feedback 2.67 beta 1

hiker
Posts: 83
Joined: Tue Oct 24, 2006 11:52 pm
Location: Australia

Feedback 2.67 beta 1

Post by hiker »

Hi Erwin,

just a quick first feedback: GL_ShapeDrawer now needs btShapeHull, which is in 'Extras'. Up to now I neverhad to install any files from the Extras subdir, now I need the ConvexHull subdir. Is this the intention (wouldn't be a problem, I just have to know), or should these objects go into the normal src tree?

Cheers,
Joerg
hiker
Posts: 83
Joined: Tue Oct 24, 2006 11:52 pm
Location: Australia

Re: Feedback 2.67 beta 1

Post by hiker »

Hi Erwin,

some more feedback: I still can't use the quantized triangle meshes. While the original bug (incorrectly not finding the closest triangle) is gone at the location specified in my previous bug report, I found a 2nd location where the same problem happens. The problem disappears when I disable quantization. It's the same behaviour with 2.66 and 2.67 beta1 (with quantization incorrect behaviour, without it's correct).

Best regards,
Joerg
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Feedback 2.67 beta 1

Post by Erwin Coumans »

This new ConvexHull util is not ready to go into src folder, so it was moved into Extras.
Both the BulletColladaConverter and the rendering code of the demo (GL_DebugDrawer) uses it, so there is a dependency. We could temporarily copy those 2 cpp files into two projects, if you mind about ConvexHull util. We can add it to src folder once we cleaned up the code (mainly memory management has to use btAlignedAlloc/Free rather then directly new/delete).

Do you have a repro for this 2nd location?
Thanks for the feedback,
Erwin
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: Feedback 2.67 beta 1

Post by Erwin Coumans »

The problem disappears when I disable quantization.
We located the problem, and it is due to an additional ray-versus-AABB culling to increase ray versus trimesh performance. The de-quantization isn't conservative, causing the ray-AABB to fail in certain cases.

You can avoid this issue by disabling this rayAABB (always return true), in Bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp, around line 840:

Code: Select all

			rayBoxOverlap = true;//btRayAabb2 (raySource, rayDirection, sign, bounds, param, 0.0, lambda_max);
It will take some time to analyse this problem deeper. In the meanwhile, I'll try to fix some of the rounding issues, so a reproduction test case would be useful to verify implementation.
Hope this helps,
Erwin
hiker
Posts: 83
Joined: Tue Oct 24, 2006 11:52 pm
Location: Australia

Re: Feedback 2.67 beta 1

Post by hiker »

Hi Erwin,
Erwin Coumans wrote: We located the problem, and it is due to an additional ray-versus-AABB culling to increase ray versus trimesh performance. The de-quantization isn't conservative, causing the ray-AABB to fail in certain cases.
It appears that this is a different issue from the problem I see - especially since my problem only occurs on linux, not on windows.
Erwin Coumans wrote: You can avoid this issue by disabling this rayAABB (always return true), in Bullet\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp, around line 840:

Code: Select all

			rayBoxOverlap = true;//btRayAabb2 (raySource, rayDirection, sign, bounds, param, 0.0, lambda_max);
I tried that, but the problem I have still exists.
It will take some time to analyse this problem deeper. In the meanwhile, I'll try to fix some of the rounding issues, so a reproduction test case would be useful to verify implementation.
Hope this helps,
Erwin
Well, we are going to a RC without quantization, and I will be busy with that for a while. After that I'll try to narrow down this gcc-only problem (compiling with -O0 didn't solve the problem either).

Cheers,
Joerg