Nvidia Physics Engine Almost Complete 179
Nvidia has stated that their translation of Ageia's physics engine to CUDA is almost complete. To showcase the capabilities of the new tech Nvidia ran a particle demonstration similar to Intel's Nehalem demo, at ten times the speed. "While Intel's Nehalem demo had 50,000-60,000 particles and ran at 15-20 fps (without a GPU), the particle demo on a GeForce 9800 card resulted in 300 fps. In the very likely event that Nvidia's next-gen parts (G100: GT100/200) will double their shader units, this number could top 600 fps, meaning that Nehalem at 2.53 GHz is lagging 20-40x behind 2006/2007/2008 high-end GPU hardware. However, you can't ignore the fact that Nehalem in fact can run physics."
It's just particles (Score:3, Interesting)
This is just a particle system. Smoke, snow, rain, and maybe water look better, but it apparently has no influence on gameplay.
I couldn't find anything specific - will nVidia... (Score:5, Interesting)
Experts please explain something (Score:5, Interesting)
It just seems to me that if a graphics card can calculate physics then it would also be able to do pretty much all the same types of calculations that a regular CPU can do, but I am obviously missing a big part of it.
Experts, continue!
Why particle systems? (Score:5, Interesting)
Those are the kind of problems that force programmers to use approximations when using a physics engine.
The next step is really abstracting the physics from the development, not having pretty water.
Re:Is particle motion a fair test case? (Score:2, Interesting)
Actually useful collision detection of say, convex volumes with rotational velocities, with the volumes being stored in a 3D space partition (eg: kd-tree or BSP tree) will likely prove significantly more difficult to parallelize because of the big increase in algorithmic complexity.
Re:Is particle motion a fair test case? (Score:5, Interesting)
That's exactly why I'm skeptical of CUDA in general. Rendering graphics is one of those "embarrassingly parallel" operations, where for every frame rendered, each triangle, vertex, and pixel is independent of the others. I don't know much about physics processing, but I'm guessing it's the same. Simply throwing say, 4x more hardware at the problem gives you pretty much the ideal 4x speedup. Once you introduce random data dependencies into the problem, though, parallelization is much harder and you don't get the same speedups.
There are a lot of easily-parallelizable problems out there, which is great...but then again, there are a lot of not-so-easily-parallelizable problems out there too. I don't think CUDA would do any better than a general-purpose CPU on the latter class of problems.
Re:Why particle systems? (Score:5, Interesting)
They should test physics systems with spheres on irregular ground, with uneven (coefficient of kinetic friction), and changing wind.
I always liked to test on the hard cases (see my web site) but, in fact, what game developers and animators want is not realistic physics. The game people want "infinitely destructible environments", where you can blow up anything. And, of course, eye candy. The animation people want physics they can direct, where the starting and ending positions are specified but what happens in the middle might be automated. So most character motion in video games is spliced-together motion capture bits, hand animation, and a bit of physics now and then.
Most game physics engines today cheat on the hard cases, but by now, they usually cheat in ways that don't do something blatantly nonphysical.
My original goal, back in 1996 when I was working on this, was to get to a two-person fighting game with real martial arts. The physics engine we had was good enough, although in the era of 200MHz CPUs, a bit slow. But a control system that can do a judo throw against an uncooperative opponent is still out of reach. Worse, controlling a physically realistic martial arts character through a game pad is just hopeless. Play would be like a typical day at the dojo: "You lost your center. Your left foot should have been further forward when you tried that throw." "Yes, sensi". Work out three times a week for a year, and you get to be halfway decent. As a game, that sucks.
So I created the "ragdoll falling downstairs" cliche as a demo, licensed the technology to a middleware provider, and went on to other things.
real physics? (Score:3, Interesting)
I recall that in the original Toy Story there is only one place they used "real physics". When the jump rope is thrown off the balcony (for the army men to descend), they used real physics to model it's tangled fall. But thye later sent it was not a good idea to use the real physics. Not only was it harder but it didn't really look right and could not be easily tweaked. So all the rest is pretend physics.
What about graphics? (Score:3, Interesting)
Re:real physics? (Score:3, Interesting)
Re:Real Physics engine goal (Score:2, Interesting)
Of course, it WAS funny until it had to be explained.
Re:It's just particles (Score:2, Interesting)