PDA

View Full Version : PIZ Physics Modeler


DrMorelos
05-24-06, 05:49 AM
Hey everyone; long time, no see :D

I keep hearing from friends closer to the "bleeding edge" of gaming tech about PPUs. While not a gamer I am a professional mathematician, so the idea of a brain augmentation for my PC dedicated to realtime processing and simulation of physics tickles me in ways non-battery-powered electronics shouldn't be able to tickle me.

The folks I know work closely with SAP Labs, a company whose services (amazingly) include a lesser-known (and never advertised) "writing your software for you" component.

These two guys have briefly introduced me to a piece of software which they say is maturing rapidly, yet not market-ready. They have not told me what SAPs role is in the process (I speculate that SAP might have given the PIZ people equipment in some sort of copyright trade, but that's only a low-knowledge guess).

------------------------

Now for the fun part: here's what I know about PIZ (special thanks to Aaron and Ovidiu):

(1) It's German

(2) It's some spooky SOFTWARE, not hardware

(3) It works closely orchestrating movements between the GPU and CPU

(4) It (surprisingly) rivals the new PPUs in many ways that a simple software augmentation shouldn't ordinarily be able to do

(5) In the "interactive world" sense, it uses a combination of:

(a) partial integration along the 'gravity' axis,

(b) differential equation algorithms similar to a difference engine (iterative but extraordinarily to do - it's subtraction to solve polynomials of any degree), and

(c) some kind of statistical modeling (perhaps real-time splining, your guess is almost as good as mine) to combine "what has happened" (locally) with "what is happening" (globally) to very quickly and accurately narrow its choices for "what will happen next" to a small and easily computible set of possible outcomes.

(6) It's scalable to any level of particle size and some n > 3 dimensions, but no discussion was made about particle shape.

(7) It uses "PIZ files" (how appropriate) for keeping its statistical component healthy and helping the accuracy grow organically.

------------------------

Unfortunately, this left me extremely interested in knowing more of what PIZ is and more of what it can and cannot do. As a mathematician, I can see how the implementation sounds computationally reasonable - objects by themselves in a real-world environment can fall or not fall.

Even being thrown is falling. In that sense, it's conceivable that the whole thing might be able to get away with using a very minimalist function set - 2nd-order polynomials with 2-dimensional domains and maybe a couple periodics.

I googled it and got nothing, so I'm a little confused. Maybe someone here knows about its development and exactly what it is and how it works. I'm a math guy much moreso than a science guy so I don't even know how it would interact at an adequately low level side-by-side with the game engine and quick-thinking components.

Keep your feelers out because if PIZ turns out as potent and organically adaptable as I've heard claimed, it could wind up offering things hardware may not be able to offer. And I haven't stopped wondering how awesome my games would be if I had a PPU + PIZ setup where they synergized, each using their strengths when necessary...

You could demolish that car from the PPU demo, then go start cutting up the door and have the soft liner on the inside scuff up and stretch and have holes poked in it with dust flying out, then break the window and start messing with the shape of the broken hole by chipping out more pieces, and I suppose from what they're saying that you could sit on a snow-covered plain, get some ice on your goggle, and watch as it bent light from your vision and as it started seeping downward as it melted, all based upon the integration and difference engine components.

Anyway, could somebody please dig up more information? I can't find anything about it anywhere and I can't find a demo of any kind. It just sounds like PIZ is going to be completely freaking cool and completely freaking genius for being able to do things so perfectly in software.

Will it have to be built into game engines?

I hope you enjoyed the long rant as much as I agonize while waiting for more information about it. I want to play with a simple PIZ demo (maybe a game called The Carpenter in His Woodshop just to see if I can build a rocking chair :P

Thanks everyone,

~ Dr. Morelos ~

jolle
05-24-06, 08:42 AM
Organic.. synergize.. Are you selling something? hehe

Anyway, you´re saying someone got a physics engine, or atleast some form of software that is efficient enough to compete with a dedicated hardware solution? Or would be best served coupled with the PPU hardware perhaps?
You lost me there a few times, Im no good at math, not a programmer or developer.. but Im interested none the less..

All that interactivity you mention seems to put some requirements on polygon counts, to deform in a good way. Unless its supposed to do boolean operations in realtime, which ofcource often dont end up looking very good (judging from my own experience with Boolean ops in 3ds MAX that is)
Or have predefined cut and break lines I guess..
Thats still a hurdle with deformations, for example cloth and fluid dynamics, since we are looking at polygons you need alot of them to provide the smooth motion in the materials, and the more polys, the more math for the physics solution to do I take it, if you keep it as accurate as per polygon..
CellFactor shows some nice fluid dynamics, but with rather big "blobs".
Ageia shows some techdemos on different things like metal structures bending and stuff breaking up, but to do a decent bend you cant skimp on the polycount on that object like you normally would on for example a cylinder.

And about offering things hardware cant, I dunno, I mean the PPU is basicly just a math powerhouse that does the things you throw at it, via the physics engine/API..
Like GPUs, you got GP programs doing sound and physics calculations on them even tho they are designed for graphics first and foremost.

DrMorelos
05-27-06, 02:01 PM
see, your response is exactly what mine was when i heard about it. that was why i was hoping i could ask what people knew about it here.

my math is solid, my physics is decently solid, but my computer-science implementation of physics as predicted by math? not so solid.

it is obvious that a software solution can adapt and grow (or shrink) with the particular needs of its game while hardware is a done deal with certain features that can be switched off and others on, but no features added except through synthesis.

i don't believe it will ever compete, speed- or density-wise, with hardware ( because that's clearly nonsense :) )

the question is this:

in realtime, is it better to use a small functional model and derive predictive functions for all necessary interactions or is it better to start with an enormous functional model and use easy predictive statistics to save yourself the work of expensive derivations of formulæ which will just change immediately anyway?

that's where i get stuck. i can imagine how the hardware would do what it does efficiently and i can tell from screenshots that while it's awful (i mean, seriously, terrible) right now it will mature into an amazing technology in the near future.

what i can't imagine is how to use intelligent guess-work as a surrogate for a vast amount of that math.

however, a cloth flag blowing in the wind should be easy to model as an extrusion along z of a simple periodic function. (do we extrude instantaneously or over time or does the timing of extrusion have a functional model?) that should be easy!

even things like hair should be easy without extra hardware. it's not a question of 2^317 + 1 objects interacting; it's a question of a reasonable approximation with respect to pixel pitch on the viewer's screen and keeping in mind minimizing error so that error isn't amplified by some future, dependent, action.

fluid interaction with fluid, though, i could see as harder. can't think my way around it (but never could, anyway)..

thoughts?

~ dan ~

Redeemed
05-27-06, 02:25 PM
that's where i get stuck. i can imagine how the hardware would do what it does efficiently and i can tell from screenshots that while it's awful (i mean, seriously, terrible) right now it will mature into an amazing technology in the near future.


I assume that you are a referring to the PPU. I'm not a mathemetician (highest math ever taken was high school Geometry :( ), but I've done a lot of reading up on the PPU.

First of all, even the CellFactor techdemo isn't pushing the PhysX chip to its limit. It isn't the chip currently that needs to improve- it is the games and how they are programmed to use it. The PhysX chip is a physics powerhouse- so much so no current program (atleast for games) can make full use of it. Much like dual core procs when they first released (and that issue is still here today).

I'll be surprised if they can get thier software to be able to perform the physics calculations as efficiently and accurately as the PPU. After all, it'd be the systems processor performing those calculations- yet it already has multiple tasks that it has to deal with. Where as the PhysX chip is 100% dedicated to physics.

DrMorelos
05-27-06, 03:39 PM
technically, redeemed, i was referring to the technology and not just the PPU. the problem was that my sentence was written inaccurately (i start on explaining how the "hardware" does blahblahblah then use "it's" instead of "the technology").

"the technology" is what's immature - how games and the drivers and the rest of everything else exploits the card's strengths.

i doubt PIZ will ever do in software what the PPU does in hardware. i'm just still holding on to the idea that it might (a) be able to do a FEW things more efficiently through the irritating adage "working smarter, not harder" and that it might (b) eventually grow to complement the PPU in a way that makes it easier to write games that better take advantage of both.

what kind of physics model does the PhysX chip use? is it dynamic? simple example: if you tell it "object A is accelerating at f(t) lengths in this direction per second squared" will it integrate the acceleration function twice to find out where object A is or will it draw from a known database of related functions to find out where object A is?

or is it smart enough to choose which is faster at any given time?

---

redeemed:

the problem is this: most physics equations are interrelated mathematically. really, most mathematical formulæ are as well.

for example, I might say, "I know the Pythagorean Theorem and I also know how to measure the distance from point A to point B in n-space."

This makes the Pythagorean Theorem and the Distance Formula two separate entities. I could remember either piece separately depending upon the context of my problem.

Alternatively, I might say, "I know how to measure the distance between point A and point B in n-space, and I know how to generalize this down to a triangle rooted at the origin."

This makes the Pythagorean Theorem simply a special case of the Distance Formula. In this case, I remember the broader of the two and, if the context requires, I may derive the more specific from the broader.

Which of these is faster?

Likewise, the Pythagorean Theorem and the area of a Trapezoid in two dimensions are co-proofs.

Acceleration in a directional derivative of Velocity, which is in turn a directional derivative of Position. Acceleration is often easy because it's often linear (for example due to the gravity of earth, one-dimensional) but the position of a dropped object is computationally much more difficult.

Is it better to compute the current position like a difference engine would, by taking derivatives and working with simple add and subtract operators, or is it better to compute the current position like a TI calculator would, by taking the formula (as given, regardless of how complex) and plugging in values, then simplifying?

the latter of these two processes may even require Newtonian approximation. Not fun, and computationally expensive. It's the sort of thing that begs the question, "Would a pretty-good guess have been good enough but wildly cheaper?"

Anyway, I am a professional mathematician with the paperwork and all that. I am not a computer scientist or a physicist, regardless of how interrelated the three fields are. This is why I would like to know more about PhysX and what people think PIZ will wind up giving us.

Oh, yeah, and also because I can't seem to trick google into telling me ANYTHING about PIZ.

~ dan ~

Peoples-Agent
05-27-06, 05:39 PM
That's completely lost me, I always thought PIZ was a form of encryption or compression.

PIZ

As stated in the Technical Introduction, the PIZ is a wavelet transformation applied to the pixel data. The result of that the transformation a Huffman encoding. PIZ has several somewhat unique characteristics: (1) data is compressed and uncompressed at roughly the same speed (2) works well for scan-line based files as well as tiles (3) small tiles do not shrink much in the compression and finally (4) images with film graim can be reduced down to somewhere between 35 and 55 percent of their uncompressed size. The previously stated is a rough paraphrase of the information provided by the Technical Introduction, please refer to it for a few more specific details. PIZ is lossless.

http://en.wikipedia.org/wiki/OpenEXR#PIZ

Or could they have meant Piezo controllers? ....something to do with 3D optics.

Apart from that, it's news to me tbh.

DrMorelos
05-28-06, 02:46 PM
Or could they have meant Piezo controllers? ....something to do with 3D optics.

That's all I had ever heard about anything called PIZ, too.