Who can give me some information about PGS.

Post Reply
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Who can give me some information about PGS.

Post by ljb »

I am a greenhand.My English is poor.I hope somebody can understand what I mean
The function resolveSingleConstraintRowLowerLimit()(at btSequentialImpluseConstraintSolver.cpp) is PGS,But where can I find that member variable m_rhs is setted.
:( :( :( :(
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Re: Who can give me some information about PGS.

Post by ljb »

I got it.setupContactConstraint() and solveGroupCacheFriendlySetup() do it.But I can not understand what function can do.Anybody can give me some information?
:( :( :( :(
Basroil
Posts: 463
Joined: Fri Nov 30, 2012 4:50 am

Re: Who can give me some information about PGS.

Post by Basroil »

Simple answer is: You don't need any of that information to use Bullet, just follow the sample code and you can use th engine.

For more information on the engine development side, the papers section has a list of materials that will explain how PGS, multibody, and the MLCP solvers work, as well as how the physics problems are set up.
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Re: Who can give me some information about PGS.

Post by ljb »

I'm transplant collision code on CPU to GPU.So I had to understand it.
Basroil
Posts: 463
Joined: Fri Nov 30, 2012 4:50 am

Re: Who can give me some information about PGS.

Post by Basroil »

ljb wrote:I'm transplant collision code on CPU to GPU.So I had to understand it.
I suggest you take a look at the Bullet3 main on github, there's already work on exactly what you want.

As for collision code, the line you are quoting has nothing to do with collision (at least not directly), you need to look at the collision world source rather than dynamics world ones.
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Re: Who can give me some information about PGS.

Post by ljb »

thx,That is a greate information.I'm trying to study it.
:D :D :D :D :D
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Re: Who can give me some information about PGS.

Post by ljb »

I build the demo,but I can not feel any speedup. wrong?
无标题.png
无标题.png (297.27 KiB) Viewed 9711 times
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Who can give me some information about PGS.

Post by Erwin Coumans »

You need a high-end desktop GPU with the right GPU/OpenCL drivers to see any speed up, for example an AMD Radeon 7970 or newer, or an NVIDIA GTX 680 or better. There is no expected benefit of trying to run the GPU accelerated physics on a low-end desktop GPU or a laptop GPU.

Thanks,
Erwin
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Re: Who can give me some information about PGS.

Post by ljb »

1)Thanks a lot. :lol: :lol:
2)Anthor question:I find PGS in btSolveProjectedGaussSeidel.h.I can't trace code there! What should I do? :( :( :(
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Who can give me some information about PGS.

Post by Erwin Coumans »

btSolveProjectedGaussSeidel is a simplified PGS solver that is used in combination with an MLCP solver.

See this snippet in Bullet/Demos/ForkLiftDemo how to use it:

if (useMCLPSolver)
{
//btDantzigSolver* mlcp = new btDantzigSolver();
btSolveProjectedGaussSeidel* mlcp = new btSolveProjectedGaussSeidel;
btMLCPSolver* sol = new btMLCPSolver(mlcp);
m_constraintSolver = sol;
} else
{
m_constraintSolver = new btSequentialImpulseConstraintSolver();
}

The btSequentialImpulseConstraintSolver is also PGS, but with many improvements and optimizations.
ljb
Posts: 21
Joined: Fri Oct 14, 2011 6:18 am

Re: Who can give me some information about PGS.

Post by ljb »

Thank a lot,I'll try it.
I have finished code on Projected Jacobi.
Attachments
LCP.png
LCP.png (6.46 KiB) Viewed 9472 times
Post Reply