[List] 3.12 Bugs

Report any bugs here and we'll post fixes

Moderators: Sascha Willems, Thomas

[List] 3.12 Bugs

Postby AntonSynytsia » Sun Jan 19, 2014 8:25 pm

Here's the list of bugs, currently found in Newton. I will tend to update the list when the bug(s) is/are fixed.
    none
Last edited by AntonSynytsia on Thu Mar 06, 2014 7:31 pm, edited 11 times in total.
AntonSynytsia
 
Posts: 193
Joined: Sat Dec 28, 2013 6:36 pm

Re: [List] 3.12 Bugs

Postby Julio Jerez » Sun Jan 19, 2014 9:28 pm

AntonSynytsia wrote:
  • Non-uniform scaled collision (1,1,2) doesn't collide with other bodies.
  • Flat convexhull crashes, while other flat shapes just remain static.
  • Fractured compound doesn't work with the solver model set to 0 (exact).


-of that list, Non-uniform scaled collision yes is a pending issue
-Flat convexhull crashes? the engine does not support flat convex hull, all convex hulls are must have a non zero volume

-Fractured compound doesn't work, although this should work with all solvers modes, I do no think it is meant to work with exact solver, this deal with lot od data.
the solver mode 0 will be brought that to a crawl by that feature.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: [List] 3.12 Bugs

Postby arkdemon » Sun Jan 26, 2014 10:36 am

I think there is a bug when the NewtonBody's velocity is too high (or it may be normal): the body nearly never collides except if we put NewtonBodySetContinuousCollisionMode and then it starts to lag a bit
My name is arkdemon and I don't approve this message :D
User avatar
arkdemon
 
Posts: 90
Joined: Sat Jan 18, 2014 12:38 pm

Re: [List] 3.12 Bugs

Postby AntonSynytsia » Sun Jan 26, 2014 5:16 pm

arkdemon wrote:I think there is a bug when the NewtonBody's velocity is too high (or it may be normal): the body nearly never collides except if we put NewtonBodySetContinuousCollisionMode and then it starts to lag a bit

I think that's normal, but lets see what Julio has to day about this :)
AntonSynytsia
 
Posts: 193
Joined: Sat Dec 28, 2013 6:36 pm

Re: [List] 3.12 Bugs

Postby Julio Jerez » Sun Jan 26, 2014 6:45 pm

yes this is normal. you need to see CCD at least of the fast body for the collision to take place.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: [List] 3.12 Bugs

Postby AntonSynytsia » Wed Feb 26, 2014 3:35 pm

Its seems the non-uniform scaled collisions work well now.
The bug was removed from the list.

Thank you, Julio!
AntonSynytsia
 
Posts: 193
Joined: Sat Dec 28, 2013 6:36 pm

Re: [List] 3.12 Bugs

Postby AntonSynytsia » Thu Mar 06, 2014 5:27 am

I've found a couple of more bugs, see top.
AntonSynytsia
 
Posts: 193
Joined: Sat Dec 28, 2013 6:36 pm

Re: [List] 3.12 Bugs

Postby Julio Jerez » Thu Mar 06, 2014 10:56 am

set mass matrix does consider the scale, this is the funtion

Code: Select all
dgMatrix dgCollisionInstance::CalculateInertia () const
{
   if (IsType(dgCollision::dgCollisionMesh_RTTI)) {
      return dgGetZeroMatrix();
   } else {
      return m_childShape->CalculateInertiaAndCenterOfMass (m_aligmentMatrix, m_scale, m_localMatrix);
       }
}


you can see that the function pass the scale to the collision shape method. each method has its own way to do it, for convex you can chek out function
dgMatrix dgCollisionConvex::CalculateInertiaAndCenterOfMass (const dgMatrix& m_alignMatrix, const dgVector& localScale, const dgMatrix& matrix) const

and you will see that is does use the scale correctly.

as for the inertia being clamped at 100 time the mass, yes this is a conscious decision, and it has to do with floating point integrity,
the range is from 0.01 to 100 which represent four significant digits, this is very much the limit of reliably floating point accuracy
that you can get using 32 bit floats.
I can problably do a better range clamping not using the mass and only the geometrical part of the body,
basically the idea is to limit object to have a the longer dimension approximately no longer than 10 time the shortest dimension.
I found that that limit is actually quite generous.

for most regular objects this limit is never bloken, but if you have something like a thing rod,
yes it will be violated it and the object will appear heavy along the clampe value.
try change the limit to 1000.0f see if that is better.

I do not recommend to make large that 1000, because if you do the you inverse mass matrix will have such a large condition number that the solver solution will be meaningless,
the reason is that the converge of a linear system of equation is deterring by the matrix condition number.

try setting to 1000 and see if it is better. then I changed it

this happen here function
Code: Select all
void dgBody::SetMassMatrix(dgFloat32 mass, dgFloat32 Ixx, dgFloat32 Iyy, dgFloat32 Izz)

//line 488

      dgFloat32 Ixx1 = dgClamp (Ixx, dgFloat32 (0.001f) * mass, dgFloat32 (100.0f) * mass);
      dgFloat32 Iyy1 = dgClamp (Iyy, dgFloat32 (0.001f) * mass, dgFloat32 (100.0f) * mass);
      dgFloat32 Izz1 = dgClamp (Izz, dgFloat32 (0.001f) * mass, dgFloat32 (100.0f) * mass);
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: [List] 3.12 Bugs

Postby AntonSynytsia » Thu Mar 06, 2014 12:32 pm

I understand why rods worked improperly, now. Perhaps there are many shapes, even broad rectangular prisms who's inertia values are violated. So, is there a way to switch to 64bit floats?
AntonSynytsia
 
Posts: 193
Joined: Sat Dec 28, 2013 6:36 pm

Re: [List] 3.12 Bugs

Postby Julio Jerez » Thu Mar 06, 2014 2:31 pm

at this point I will have to complete the 64 bit of call dVector,
I started a whiel back, by I has not completed.

Like I sad the limit asume 4 significna digit, is your lowe dimetion is not too small you can set the upper limi to highert
try setting to 1000, see if it is better first.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: [List] 3.12 Bugs

Postby AntonSynytsia » Thu Mar 06, 2014 7:31 pm

Yes, increasing values to 1000 makes it better, but the bodies started acting weird, when you use applyPickForce on the body.

The solution to not change to 1000 is simply reduce the bodies size :roll:

Thanks :!:
AntonSynytsia
 
Posts: 193
Joined: Sat Dec 28, 2013 6:36 pm


Return to Bugs and Fixes

Who is online

Users browsing this forum: No registered users and 9 guests