Closed george-tsiros closed 4 years ago
oh wow, that's a long list of problem, I check it out and you are right. I made a mistake in the ball socket joint last week and I have not look at the engine since. It is fix now.
I verified that these bug are fixed. "using the newton mesh tool" works "gyroscopic precession" works "primitive collision" this is a very old demo, that sow how the engine can be used as collsion only library "simple box stacks" this is not meat to be run in debug, in fact you are getting faster fps than I in debug. in release you should get under 10 ms per frame, but if you run multithreaded and async update the physics update sould be almost free. "compound collision shape", "non-uniform scaled collision shape" fixed "dTractorModel::MakeHydraulic" fixed "passive ragdoll" should work. "dMultiBodyVehicleEngine" this one Is temporarily disabled because I am merging the player controller "single body car" is a contribution by Dave Gravel, should be working. "basic player controller" yes there was a problem, is fixed now
"simple cloth patch" this is on hold until the secudn half of the year when get the GPU solver ready for now I need to get the full body IK an dthe GPU solver.
please you sync, then you can check again.
thanks for the detailed report
when you run the test, see if your machine support the GPU solver.
this is the prototype for the actual GPU solver by implemented in CPU using avx
it run the current demo much faster.
Neat! That was fast... thank you very much for your work! I will keep testing.
Sadly i am not very good at c++ so i can only help a little.
I would like to use this under .net with c#, i see sdk\dWrappers\csharp\ is that work in progress for a c# wrapper?
again, thank you for your work and your efforts!
That's the wrapper for the unity plugin. It uses swiig for making a manage csharp wrapper.
On Sat, Mar 28, 2020, 12:13 PM george-tsiros notifications@github.com wrote:
Closed #210 https://github.com/MADEAPPS/newton-dynamics/issues/210.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MADEAPPS/newton-dynamics/issues/210#event-3175241980, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6EPJAEQIBDZOQ6M3H3Z63RJZD4RANCNFSM4LVRPHWQ .
it looks like gpu acceleration works. Tried 32bit debug, 32bit release and 64bit release. When i switch to gpu solver and restart the demo, I see that after letting the scene settle, it is about twice faster (5ms instead of 10ms, vega 56, stock) and if i move the vehicles blindly forward it is a bit faster.
are you a physicist? When the system is analyzed, does it make any attempt to simplify the degrees of freedom or does it apply all constraints as they were initially described?
I see that in the msvc/visualstudio projects, the compilation options to me look unoptimized. 1) you usually use gcc/other so you haven't tweaked them 2) you let us choose what we want 3) you have checked that it doesn't make a difference 4) something else? 🤔
I have many more questions, but for now I will let you do your work, the fixes you made are enough for me to start reading the source more closely
again, thank you very much for your work and your time
no, I am not a physicist, my degree is in mechanical Engineering.
It engien is implement a holonomic reduced coordinate system, therefore each joint is represented by at most 6 degree of freedon, so there is not need simplify any further.
I does have to simplify the degree of freedomm for contact joints. and I have tried several methods over the years.
1-desposing joint into Eigen values and selection the rows with the must dominant eigen values.
this is very elegant solution, teh code is still in teh engine but disabled, but is has the problem that it may deem important contact as redundant, so it is better to use geometrical methods.
I am now using a hybrid method for reduce dof for contacts. Basically a pre reduction using geometric projection over the convex hull formed by the contact points. them the linear system solver clamps contacts that reach max values, making in effect similar to singular value decomposition. It seems to work quite well.
the compiler option are not really that important, it only matter the one for a particual instruction set. Since the engine is open source, any one can chose the compiler options they want to try.
WAIT. you've been a coder since 97!?!
compiled in vs2017 community 15.9.21 (latest as of writing) win10 sdk 10.0.17763.0 toolset vs 2017 (v141)
downloaded source from github, master branch, opened applications\demosSandbox\projects\visualStudio_2015\demosSandbox.sln
i let it retarget it and without touching anything started a new debugging instance for demosSandBox
preferences do not work, but as i see a dAssert(0) in there i suspect they were never meant to work, so i am not interested in that.
"using the newton mesh tool" fails an assertion:
matrix0 is:
gyroscopic precession fails assertion,
matrix0 is this so lateralDir is zero length vector it seems
"primitive collision" (the demo option) doesn't appear to do any collisions. I do not know if it is supposed to.
"simple box stacks" using 1 thread (7700T at 3.6 GHz) starts at 500 ms physics time, drops to 5 ms as it settles down but it bogs down to 500ms again if i smash things around. Maybe because it is the debug version?
"compound collision shape", "non-uniform scaled collision shape" fail assertion at:
there's a dAssert(0) in
dTractorModel::MakeHydraulic ( dModelNode* const node, const char* const name0, const char* const name1, const char* const effectorName1)
Line 456 after some ignoring it works, i guess?passive ragdoll fails at:
single body car fails assertion three times and then crashes:
basic player controller fails an assertion in a virtual method... i suspect some subclass was supposed to override this method but didn't?
simple cloth patch and simple soft body both fail at hardcoded assertions and i see commented out code
... in sdk\dVehicle\dMultiBodyVehicle\dMultiBodyVehicleEngine.cpp line 151
is someone trashing the source tree? what is this?
Am I missing something? Did something happen recently?