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
Feedback 2.67 beta 1
-
- Posts: 83
- Joined: Tue Oct 24, 2006 11:52 pm
- Location: Australia
Re: Feedback 2.67 beta 1
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
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
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: Feedback 2.67 beta 1
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
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
-
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
Re: Feedback 2.67 beta 1
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.The problem disappears when I disable quantization.
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);
Hope this helps,
Erwin
-
- Posts: 83
- Joined: Tue Oct 24, 2006 11:52 pm
- Location: Australia
Re: Feedback 2.67 beta 1
Hi Erwin,
Cheers,
Joerg
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: 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.
I tried that, but the problem I have still exists.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);
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).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
Cheers,
Joerg