Nvidia following with Physics Simulation on GPUs

Discussion in 'GPGPU Technology & Programming' started by Arty, Mar 11, 2006.

  1. Titanio

    Legend

    Joined:
    Dec 1, 2004
    Messages:
    5,670
    Likes Received:
    51
    It still requires a lot of collision detection and simulation etc.

    Basically you'll have two kinds of object in your game world, some tagged as gameplay objects, probably many more tagged as effects objects. Effects objects can physically affect themselves, but not gameplay objects. Gameplay objects can affect everything, including effects objects. As an example, you might have small rubble bouncing off a character, but the rubble won't impart motion to the character (which is reasonable if the rubble is small, obviously). The problem of collision detection certainly doesn't go away, there's just slightly less work to do than if all those effects objects were gameplay objects - but using GPUs or better CPUs will result in a lot more effects objects anyway. The effects objects are subject to the same degree of simulation and collision detection/response as anything else AFAIK, the only shortcut is that you're not calculating how they would impart motion onto gameplay objects - so you don't have to feed back data to your gameplay object simulation on the CPU.

    edit - Havok calls effects objects 'Debris primitives'. I mean, they may well be making assumptions about these in order to better match the computing model on the GPU, but ultimately it remains that they interact with each other and gameplay objects, but the interaction with the latter is one-way.
     
    #61 Titanio, Mar 25, 2006
    Last edited by a moderator: Mar 25, 2006
  2. SlmDnk

    Regular

    Joined:
    Feb 9, 2002
    Messages:
    539
    Likes Received:
    86
    Geo likes this.
  3. Ike Turner

    Veteran Regular

    Joined:
    Jul 30, 2005
    Messages:
    1,884
    Likes Received:
    1,759
    Here's (Valve) Gabe Newell's comment about nVidia's approach (tjhis could be applied to ATI too..):

    http://www.gameinformer.com/News/Story/200603/N06.0324.2249.59492.htm
     
  4. tEd

    tEd Casual Member
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    2,095
    Likes Received:
    62
    Location:
    switzerland
    As i understand it to do efficient collision on gpu you need good branching
     
  5. DemoCoder

    Veteran

    Joined:
    Feb 9, 2002
    Messages:
    4,733
    Likes Received:
    81
    Location:
    California
    Ironically, Source has lots of "pretty picture" physics which are irrelevent to gameplay, which become blatantly obvious when you create multiplayer maps.
     
  6. SugarCoat

    Veteran

    Joined:
    Jul 17, 2005
    Messages:
    2,091
    Likes Received:
    52
    Location:
    State of Illusionism

    One of the main things that makes HL2 DM fun is being able to use anything as a weapon. From radiators to filing cabnets to office desks. You can even use those items as shields. If you are talking about CS:S and DOD:S then i'd have to ask why they should alienate a type of gameplay people find classic fun. They didnt change it much on purpose. If you want to add massive physics into a WWII capture the flag game you can make your own mod.

    Aside from a destroyable environment such as walls or ground that game does infact have one of the best physics representations around.
     
  7. oddfellow

    Regular

    Joined:
    Feb 9, 2004
    Messages:
    355
    Likes Received:
    0
    Location:
    South West England
    Hmmm.... this is interesting...

    I wonder if the second card would HAVE to be in SLI or Crossfire??

    There's plenty of motherboards out there that have dual graphic slots but DON'T support SLI/CF.

    My board for instance is a ULi1695 based board with both PCIe16 and AGP8x. It supports dual graphics cards, but obviously doesn't support SLI/CF.

    I wonder if I could use a high end AGP card to render and a decent PCIe card to do the physics????

    Or vice versa of course...
     
  8. Monrad

    Newcomer

    Joined:
    May 7, 2004
    Messages:
    19
    Likes Received:
    0
    Mmmhh after watching NV videos I'm a bit confused.

    In NV's vortex video, their physics are interacting with the player, it's not only eye candy as far as I understand.

    My questions:

    Is AGEIA's PPU more powerful than NV's and ATI's solution?

    Will I be able to calculate physics with only one video card (NV or ATI) while rendering a game?

    If I will, what are the limitations?

    What's the best option if I have to build everything from scratch:

    1) One high end video card to do rendering and physics (if possible)

    2) Two video cards to do rendering and physics (high end + mid end)

    3) One high end video card + AGEIA


    What are your thoughts about this?

    I know that it's very difficult to implement physics that interact with the world in a game because it will require a PPU or GPU capable of calculating physics. But if gaming is going that way, it will be a must have. Who will win this war? I think AGEIA should win because they have a single card dedicated to that job (assuming their PPU is faster that ATI's and NV's best GPU to do physics calculations).
     
  9. soylent

    Newcomer

    Joined:
    May 4, 2005
    Messages:
    165
    Likes Received:
    8
    Location:
    Sweden
    Bleh. I'd rather use a graphics card to process sound. But that might not be nescessary now that creative has actually started doing something with aureal tech(but (6?) years too late).
     
  10. Fred

    Newcomer

    Joined:
    Feb 18, 2002
    Messages:
    210
    Likes Received:
    15
    "Meh, for something like fluids hacks are going to rule supreme for the foreseeable future anyway."

    Pretty much like most interesting and relevant physical apps, hacks will always rule supreme. These cards and solutiosn are more or less restricted to elastic scattering, and crappy linearized approximation algorithms for inelastic scattering that scale awfully with particle count.

    The marketplace for ppus is going to be a window of a few years, if that, after that cpus will be perfectly adequate for anything the gfx card pumps out. Arguably its already better if the developer tailors his algorithms to the cpu directly now as it stands, instead of feeding it into premade one size fits all algorithms that dumbs down creativity and is ill suited for anything except a narrow and restrictive vision of what games should do.
     
  11. psurge

    Regular

    Joined:
    Feb 6, 2002
    Messages:
    939
    Likes Received:
    35
    Location:
    LA, California
    Fred - I agree completely.

    I don't really understand the whole idea behind the PPU. The only thing that makes sense to me is that maybe the "PPU" is marketing aimed soley at getting a powerful fp processor architecture into the market in quantities high enough such that a release of some kind of more general compiler for the underlying chip makes business sense. So instead of presenting a powerful architecture and then searching for a killer app to make the sales, maybe Ageia is trying to present a killer app and then open it's architecture.

    That said - I haven't seen much detail on what this PPU chip actually is...
     
  12. Andrew Lauritzen

    Moderator Veteran

    Joined:
    May 21, 2004
    Messages:
    2,526
    Likes Received:
    454
    Location:
    British Columbia, Canada
    Actually the physics were are full rigid-body simulation (with stacking) and full collisions. However NVIDIA does do the initial broad phase (bounding volume) collision detection on the CPU, and evaluate the narrow phase on the GPU. ATI on the other hand does both right on the GPU. I suspect this may be due at least in part to the threading efficiency of the two parts...

    That said I'm totally confident in our ability to do physics efficiently on the GPU. Most of the global interaction problems in physics (collision detection for example) can be solved fairly efficiently with a scatter/gather type pass, which is pretty fast on modern GPUs (that support R2VB). Indeed Ageia's own architecture uses this design IIRC.

    The main advantage to using GPUs for general-purpose parallel computing like this is the ability to load balance efficiently. In a CPU/GPU/PPU system, two of the three will invariably be idle for some part of the frame. GPUs are actually remarkably efficient at load-balancing which is a major scalability advantage.

    Anyways in an ideal word we get more direct access to GPUs (dodging the graphics API), which ATI has already hinted at providing. Particularly with this access, I'm unconvinced that we need yet another piece of specific, non-user-programmable hardware to do physics.
     
  13. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,436
    Likes Received:
    443
    Location:
    New York
    By direct access, do you mean feeding physics calculation results back to the CPU or is it still one way?
     
  14. Jawed

    Legend

    Joined:
    Oct 2, 2004
    Messages:
    10,873
    Likes Received:
    767
    Location:
    London
    ATI's proposing an "API" that isn't D3D, in order to access the GPU - the idea being to bypass all the junk in D3D that just slows down GPGPU type stuff. "Data Parallel Processing Architecture Abstraction":

    http://www.pcper.com/article.php?aid=226&type=expert

    :)lol: at the URL)

    Jawed
     
  15. CNCAddict

    Regular

    Joined:
    Aug 14, 2005
    Messages:
    290
    Likes Received:
    2
    Hmmm, I'm extremely confused about "gameplay" and "effects" physics. In Nvidia's Vortex video, you can distinctly see gameplay objects interacting directly with the character. He kicks trash around and then while the trash is swirling, some of it is obviously colliding with the character. So how can you get more "gameplay" than that :?:

    Then you can hear in the background the Nvidia gentleman saying that they can do gameplay physics fine, but they want to cover a larger user base, so they aren't promoting it. Doesn't any of this require a PS3.0 card, which should be fast allready, no? I'm getting way too many conflicting views on this. Can someone in the know please clear the air.
     
    #76 CNCAddict, Apr 1, 2006
    Last edited by a moderator: Apr 1, 2006
  16. soylent

    Newcomer

    Joined:
    May 4, 2005
    Messages:
    165
    Likes Received:
    8
    Location:
    Sweden
    Lets say you want to throw out a few hundred chunks of brick in an explosion. If a player gets hit in the head and the bricks just bounce of that will look quite silly. The relationsship needs to be two-way.
     
  17. Frank

    Frank Certified not a majority
    Veteran

    Joined:
    Sep 21, 2003
    Messages:
    3,187
    Likes Received:
    59
    Location:
    Sittard, the Netherlands
    The only way to have realistic interactions that affect gameplay is to have all systems that run the game use volume calculations for determining meshes. That won't happen for some time yet, and requires dedicated hardware to do scene management as well.

    Instead of sending draw commands for individual vertices/triangles to the GPU, you upload a scene, and just notify it of any change you want, while getting a steady stream of changes and updates back.

    And you would need a different API than OGL or DX to be able to do that.
     
  18. CNCAddict

    Regular

    Joined:
    Aug 14, 2005
    Messages:
    290
    Likes Received:
    2
    OK, cool. So the run down is something like this ->

    Ageia - will provide an overpriced solution that can do gameplay physics
    Nvidia - can do effects physics and gameplay physics but they're only promoting the effects part
    ATI - Can do anything Ageia can do only faster, cheaper, and with a MUCH larger user base

    It appears ATI could have a distinct advantage here. I could be wrong, but I don't expect Ageia to last very long in this market :sad:

    DiGuru - So you're saying that it will take something like a Direct Physics API to do it "properly"?
     
  19. Frank

    Frank Certified not a majority
    Veteran

    Joined:
    Sep 21, 2003
    Messages:
    3,187
    Likes Received:
    59
    Location:
    Sittard, the Netherlands
    Yes, where you specify objects by their volume, interaction and material. And, unlike current games, you have no way to direcly change those properties. They are subject to forces and look accordingly.

    Like, you upload a skeleton, muscles, "filler", skin and clothes, specify how the muscles can move the skeleton, tack the correct volumes on top of that, wrap the skin and clothing around it and render the visible parts. And you could have things like a hill covered with pebbles that would have that actor slip and fall down.

    While that might be practical for an ElderScrolls game, it wouldn't for most other games. And you have to design a new API that allows that. The current ones require you to skip all the stuff except directly drawing the outside of everything.

    And while I'm sure that will happen some time, for the near future we'll have to use hacks and approximations. And as not everyone will have the means to compute everything the designers might want, that limits it to special effects. Nicer explosions and such.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...