PDA

View Full Version : NVidia and Havok Team up for Physics GPU


bapenguin
03-20-2006, 08:05 AM
Sorry Ageia (http://www.ageia.com/). It looks like your dedicated physics card venture is going to be over before it started. NVidia and Havok (http://biz.yahoo.com/prnews/060320/sfm088.html) have teamed up to bring advanced physics functionality to the GPU subset.

Through Havok FX, GPUs can simulate the interactions of thousands of colliding rigid bodies, a fundamental technique of physics computation seen in today's latest games. It's now possible to compute the components of friction, collisions, gravity, mass, and velocity that form the basis of rigid body physics. Havok FX is designed for GPUs supporting Shader Model 3.0, including the NVIDIA GeForce 6 and 7 Series GPUs.

Utilizing Havok FX and NVIDIA graphics technology, game developers can now implement sophisticated physical phenomenon such as debris, smoke, and fluids that add immense detail and believability to game environments. Game designers can include advanced physics effects without burdening the CPU and slowing game-play, since the effects are simulated and rendered on the GPU.
There will be a demonstration of the technology at the Game Developers Conference this week in San Jose.

Update HardOCP has some more details (http://enthusiast.hardocp.com/article.html?art=MTAwNSwxLCxoZW50aHVzaWFzdA==) on how exactly this works. Very promising!

Cool. This is the way it should have been done. There is no need for ANOTHER add-in card.

Nite_Moogle
03-20-2006, 08:07 AM
Awesome. Advanced physics engines are some of the best parts of games.

Skookum
03-20-2006, 08:11 AM
So any card with shader model 3? Not just Nvidia cards? Sounds fine. Send some over for dinner.

51|RandoM
03-20-2006, 08:13 AM
So any card with shader model 3? Not just Nvidia cards? Sounds fine. Send some over for dinner.

Don't expect it to work on ATI unless they start coughing up some dough. That is just the way it works. Nvidia is probably pumping serious money into this for exclusivity.

Good to see somebody doing it, since GPUs are very much suited to making these types of calculations.

Schnoogs
03-20-2006, 08:14 AM
This doesnt quite add up...this is old news. People have been using GPU's for physics for some time so this announcement doesn't really mean that much especially if they plan on using current GPUs.

Plus if a single GPU is going to be split between phsics and graphics we'll see a major performance hit.

This will make more sense when they announce dedicated GPUs for physics.

Morratut
03-20-2006, 08:24 AM
We all knew this was gonna happen.

I can't wait for this card. This plus DX10 will be awesome.

Balthasar
03-20-2006, 08:26 AM
This doesnt quite add up...this is old news. People have been using GPU's for physics for some time so this announcement doesn't really mean that much especially if they plan on using current GPUs.

Plus if a single GPU is going to be split between phsics and graphics we'll see a major performance hit.

This will make more sense when they announce dedicated GPUs for physics.
Not to mention the fact that Vista will now be accessing the GPU's resources to run it's "3-D" desktop, which probably means we'll eventually see non-gaming programs "hog" resources on the GPU the way they do currently.

Citizen Philip
03-20-2006, 08:32 AM
BWS.

Believed when seen. And preferanly not in a "hands-off" demo.

51|RandoM
03-20-2006, 08:34 AM
This doesnt quite add up...this is old news. People have been using GPU's for physics for some time so this announcement doesn't really mean that much especially if they plan on using current GPUs.


...actually they haven't. Care to name an engine where physics processing is handled by the GPU and not the CPU?


Plus if a single GPU is going to be split between phsics and graphics we'll see a major performance hit.


Guess again. Nvidia would love for people to have another reason to buy their top end part or go SLI. This is a reason. Right now, the only people who actually make use of the top end boards and/or SLI are those running at very high resolutions. I'm sure Nvidia would be happy to have a way to justify buying their expensive equipment that didn't also require you to have a 23" or greater monitor.

Furthermore, if you're doing physics calculations, you're doing it with something. Currently, that'd be your CPU, not your GPU. With top end videocards, you're usually CPU-bound, so it certainly makes sense to switch some of the load to the GPU, which is more suited to the task anyways.


This will make more sense when they announce dedicated GPUs for physics.

Actually, that is what exactly wouldn't make sense. The point of this approach is that the GPU is almost as suited to performing physics calculations as it is graphics calculations, so instead of adding another board, the better solution will be a single board that does both, even if it does end up with oh, say, two GPU or multi-core GPU.

I don't expect dedicated PPU boards to ever see the light of day in the consumer market.

RMan
03-20-2006, 08:36 AM
Don't expect it to work on ATI unless they start coughing up some dough. That is just the way it works. Nvidia is probably pumping serious money into this for exclusivity.
I wouldn't say that's true, developers will shy away from implimenting the technology if it only works for half the video card market. It's in Havok's best interest to support both, keep in mind they do charge alot of money for Havok, it's not just a free product who's purpose is to sell hardware.

Schnoogs
03-20-2006, 08:40 AM
...actually they haven't. Care to name an engine where physics processing is handled by the GPU and not the CPU?



Guess again. Nvidia would love for people to have another reason to buy their top end part or go SLI. This is a reason. Right now, the only people who actually make use of the top end boards and/or SLI are those running at very high resolutions. I'm sure Nvidia would be happy to have a way to justify buying their expensive equipment that didn't also require you to have a 23" or greater monitor.

Furthermore, if you're doing physics calculations, you're doing it with something. Currently, that'd be your CPU, not your GPU. With top end videocards, you're usually CPU-bound, so it certainly makes sense to switch some of the load to the GPU, which is more suited to the task anyways.



Actually, that is what exactly wouldn't make sense. The point of this approach is that the GPU is almost as suited to performing physics calculations as it is graphics calculations, so instead of adding another board, the better solution will be a single board that does both, even if it does end up with oh, say, two GPU or multi-core GPU.

I don't expect dedicated PPU boards to ever see the light of day in the consumer market.

First off lay off with the attitude...if you're gonne be cocky about things save it for when you're absolutely correct because in this case many of your come backs are wrong.

Check out GPGPU (http://www.gpgpu.org/). People HAVE used GPU's for physics...a good example recently was a GPU was used for fluid dynamics. This is old news I'm afraid...unless you think this website was created this morning. ;)

And your next points are actually confirming what I said. You mention SLI well thats exactly what I was alluding to. If you have a single GPU doing both you'll sacrifice the level of graphics we've all come to expect. Which is why I go on to mention a dedicated GPU for physics which could either be a second on board GPU or the SLI card running in dedicated physics mode.

My advice in the future is to think before you post an arogant and presumptuous response.

UnderHero5
03-20-2006, 09:05 AM
First off lay off with the attitude...if you're gonne be cocky about things save it for when you're absolutely correct because in this case many of your come backs are wrong.

My advice in the future is to think before you post an arogant and presumptuous response.
Assassin... you must be on the defensive or something because his response didn't seem to have any attitude or be arogant at all.
I think you took it the wrong way or something... because all he did was respond to your statement.

Settle down boy! No one is out to get you! (except the ninja's... but they're paid to do that)

MaiXu
03-20-2006, 09:12 AM
Christ. Isn't Havok the rubber doll crap we've been seeing in Max Payne, Halo 2, and other games of that ilk? It was cool 10 years ago ... now its just embarassing. Here's hoping Havok has something new that doesn't make people suck their own dick when they die.

RMan
03-20-2006, 09:23 AM
Christ. Isn't Havok the rubber doll crap we've been seeing in Max Payne, Halo 2, and other games of that ilk?
Yea, as well as HL2, FEAR, and tons of other games (it's easily the most used physics engine right now). It's a clearly competent system, more than likely issues you may have had are the result of implimentation problems in a specific game.

kurr
03-20-2006, 09:38 AM
More importantly, this solution (Physics Calcs on the GPU) gets the foot in the door, so to speak. No one is going to buy a PhysX card, because no game is going to support it beyond the minimal, non game-play affecting way. (think boxes flying around after an explosion, a la FEAR). You want real physics acceleration? You have to do it in such a way that the game devs will look at it and go "OK, we can do this with the GPU, it might not be perfect, but it'll work" Then, after they've published some games that use physics in new and interesting ways (deformable terrain that actually works, and doesn't red faction your sorry ass), the market for a dedicated PPU becomes more realistic.

Of course, I'm just talking out my ass. But whatever, that's how I see it. Correct me if I'm wrong.

bapenguin
03-20-2006, 09:44 AM
More importantly, this solution (Physics Calcs on the GPU) gets the foot in the door, so to speak. No one is going to buy a PhysX card, because no game is going to support it beyond the minimal, non game-play affecting way. (think boxes flying around after an explosion, a la FEAR). You want real physics acceleration? You have to do it in such a way that the game devs will look at it and go "OK, we can do this with the GPU, it might not be perfect, but it'll work" Then, after they've published some games that use physics in new and interesting ways (deformable terrain that actually works, and doesn't red faction your sorry ass), the market for a dedicated PPU becomes more realistic.

Of course, I'm just talking out my ass. But whatever, that's how I see it. Correct me if I'm wrong.

No, you are right. See....the thing is the market share for this is much larger than for a dedicated card. More developers would be willing to use this then as more people would benefit, etc.

earthworm48
03-20-2006, 10:39 AM
Whatever happened to the Ageia (sp) card? I heard end of 2005, then last I heard was February (sp) 2006 and nothing at all since. Anyone know anything?

EDIT: Also, I'm confused, so now I need to buy an extra Graphics card to put in SLI for Physics, or upgrade my video card more often than now for Physics? Or will the enhanced Physics just work on GPUs without affecting performance in the latest games on the latest cards? Which seems optimistic. Can anyone clarify?

EDIT 2: Also, as it is now, if you buy the latest Graphics cards, like the 7900GTX, you don't need SLI, and by the times games start to push for a lot more power there are newer better cards out (if you know what I'm saying), meaning that SLi is kind of redundant (sp) with the latest cards. Will Havok FX push for the best cards to be in SLI to get the most out of the Physics? Or will I get just as much performance from these cards for just as long? If not and SLI is something that would be beneficial, that isn't much better than the PPU, as another high end Gfx card would be much more expensive than the PPU is planned to be. It seems Havok's argument is that its a better "investment" as you can use the extra card on all games, but if you only really need the second card for Havok FX then it isn't really much better.

Mason
03-20-2006, 11:58 AM
This doesnt quite add up...this is old news. People have been using GPU's for physics for some time so this announcement doesn't really mean that much especially if they plan on using current GPUs.

Plus if a single GPU is going to be split between phsics and graphics we'll see a major performance hit.

This will make more sense when they announce dedicated GPUs for physics.
This is what I thought at first, but on reflection I could see lots of room for integration here. I mean, ideally you'd end up with a simple SDK that would generate and manage the shaders for you, with an interface similar to current physics middleware solutions. If something like that is out there, I haven't seen it yet.

I definitely agree that these solutions have reservations. Readbacks sure aren't free. Batching things back and forth doesn't seem to have a "one size fits all" solution.

Carnifex
03-20-2006, 12:19 PM
I wouldn't say that's true, developers will shy away from implimenting the technology if it only works for half the video card market. It's in Havok's best interest to support both, keep in mind they do charge alot of money for Havok, it's not just a free product who's purpose is to sell hardware.
I really hope someone standardizes an API for this. Unless DirectX (and preferably also OpenGL) support this it will remain hardware specific, and just add to the cost of the card without benefiting many customers. The early days of 3D acceleration (for the home market) had lots of problems because of little to no API standardization.

Mason
03-20-2006, 12:41 PM
I really hope someone standardizes an API for this. Unless DirectX (and preferably also OpenGL) support this it will remain hardware specific, and just add to the cost of the card without benefiting many customers. The early days of 3D acceleration (for the home market) had lots of problems because of little to no API standardization.
No, this can layer on top of either DX or GL by running on specially-crafted shaders, which could potentially be emitted at runtime. Neither graphics API has to do much of anything, since they're just used to manage getting or setting variables through various clever tricks.

DX10 will make GPGPU techniques a lot more natural, though, with geometry shaders and SM4. I'm not sure what OpenGL has planned, but I imagine it'll take advantage of the next generation of GPUs as well. But still, companies like Havoc or Novodex will come up with their own hybrid CPU/GPU solutions, more than likely.

ElectricMonk
03-20-2006, 12:44 PM
i was reading on anadtech that amd was wanting to team up with clearspeed to bring back the co-processor.

which could be used for pretty much the same thing.

i think it would be a good move though if havok became a standard install api like directx, and you could have havok drivers that are customzed for your system, and take advantage of whatever gpus and stuff you have.

Carnifex
03-20-2006, 12:48 PM
No, this can layer on top of either DX or GL by running on specially-crafted shaders, which could potentially be emitted at runtime. Neither graphics API has to do much of anything, since they're just used to manage getting or setting variables through various clever tricks.
Still, if hardware makers are free to implement those specially-crafted shaders however they want there is bound to be incompatibilities. I imagine neither consumers nor game developers would be happy with that.

RMan
03-20-2006, 01:37 PM
Still, if hardware makers are free to implement those specially-crafted shaders however they want there is bound to be incompatibilities.
Definately a valid concern, since physics will actually affect gameplay and network sequencing, differences in implimentations that result in differences in behavior will be far worse than the generally cosmetic issues caused by graphical differences.

abso
03-20-2006, 02:39 PM
What about the fact that the Ageia SDK has a cheaper licensing cost compared to Havok? The SDK will still work regardless of whether the PPU is present. If it is, then more advanced dynamics calculations can occur. I would rather spend 200 dollars on a PPU than 300-400 to get a rig that would operate in SLI mode to take advantage of GPU based physics calculations. This just sounds like nVidia forcing SLI on the people that want to 'get the most out of their computer.' What developers SHOULD be doing is programming for multi-core cpus. WTF do I need a 2nd GPU for when I have a 2nd cpu core sitting there idle.

Either way, this competition is great for games as we will begin to see some really cool physics in real time. If Ageia were to write their own shader support into their sdk though, they could walk away the winners of this.

Mason
03-20-2006, 03:16 PM
Still, if hardware makers are free to implement those specially-crafted shaders however they want there is bound to be incompatibilities. I imagine neither consumers nor game developers would be happy with that.
...you really aren't following this.

Shaders already exist. Games use them. They're standardized, remember hearing about Shader Model 1.1/2.0/3.0? GPGPU solutions don't require fancy new wackiness that'll vary from hardware to hardware, they're simply using existing technology in an interesting way.

Just so we're all on the same page, here's the most basic of HLSL pixel shaders, from the BasicHLSL sample.

//--------------------------------------------------------------------------------------
// Global variables
//--------------------------------------------------------------------------------------
float4 g_MaterialAmbientColor; // Material's ambient color
float4 g_LightAmbient; // Light's ambient color

texture g_MeshTexture; // Color texture for mesh

float4x4 worldMatrix; // World matrix for object
float4x4 worldViewProjection; // World * View * Projection matrix

//--------------------------------------------------------------------------------------
// Texture samplers
//--------------------------------------------------------------------------------------
sampler MeshTextureSampler =
sampler_state
{
Texture = <g_MeshTexture>;
MipFilter = LINEAR;
MinFilter = LINEAR;
MagFilter = LINEAR;
};


//--------------------------------------------------------------------------------------
// Vertex shader output structure
//--------------------------------------------------------------------------------------
struct VS_OUTPUT
{
float4 Position : POSITION; // vertex position
float2 TextureUV : TEXCOORD0; // vertex texture coords
float4 Diffuse : COLOR0; // vertex diffuse color (note that COLOR0 is clamped from 0..1)
};

//--------------------------------------------------------------------------------------
// This shader computes standard transform and lighting
//--------------------------------------------------------------------------------------
VS_OUTPUT RenderSceneVS( float4 vPos : POSITION,
float3 vNormal : NORMAL,
float2 vTexCoord0 : TEXCOORD0)
{
VS_OUTPUT Output;
float3 vNormalWorldSpace;

// Transform the position from object space to homogeneous projection space
Output.Position = mul(vPos, worldViewProjection);

Output.Diffuse.rgb = g_MaterialAmbientColor * g_LightAmbient;
Output.Diffuse.a = 1.0f;

// Just copy the texture coordinate through
Output.TextureUV = vTexCoord0;

return Output;
}

//--------------------------------------------------------------------------------------
// Pixel shader output structure
//--------------------------------------------------------------------------------------
struct PS_OUTPUT
{
float4 RGBColor : COLOR0; // Pixel color
};


//--------------------------------------------------------------------------------------
// This shader outputs the pixel's color by modulating the texture's
// color with diffuse material color
//--------------------------------------------------------------------------------------
PS_OUTPUT RenderScenePS( VS_OUTPUT In)
{
PS_OUTPUT Output;

// Lookup mesh texture and modulate it with diffuse
Output.RGBColor = tex2D(MeshTextureSampler, In.TextureUV) * In.Diffuse;

return Output;
}

//--------------------------------------------------------------------------------------
// Renders scene to render target
//--------------------------------------------------------------------------------------
technique RenderScene
{
pass P0
{
VertexShader = compile vs_1_1 RenderSceneVS( );
PixelShader = compile ps_1_1 RenderScenePS( );
}
}


All it does is apply ambient lighting and a texture (the details of which the game's code would've sent to the declared global variables) to whatever is being rendered, same as the old fixed function pipeline. This will run on any SM1.1 card (you'd really hope!).

The trick is, we can do whatever calculations we want in the vertex or pixel shader, so long as we submit the initial data in the form of vertices or a texture, and we output something similar. The GPU doesn't really care if you sent it vertices and a bitmap texture to render to the screen buffer, or crammed a bunch of physics data into similar looking structures and process it a very different way, it just handles the grunt work.

Schnoogs
03-20-2006, 03:51 PM
Shaders do not exist....LIES!!!

LIES!!!!!!!!!!!!!!!!!!!!!!

Qoz
03-20-2006, 04:06 PM
As far as I know the Havok FX solution cannot GPU accelerate calculations at every clock. This means the gameplay important physics cannot be GPU calculated because the precision is lacking. This will cause physics "lag" and make (among other things) multiplayer difficult with large complexity physics. You will see alot of rubberbanding for objects that can collide with the player.

Aegia can calculate realtime and therefore accelerate collision critical physics. This is actually a huge advantage performance wise and create new possibilities for developers to actually create physics that affect gameplay.

Havok FX need CPU cycles to calculate every clock. The GPU accelerated physics can be used for effects that do not affect the player much. As they mention it is for debris, buildings collapsing, wind, explosions etc. Everything that does not need 100% precision.

So the solutions are different and cannot be compared fairly. Aegia has a tough future ahead trying to explain the upside of their solution to the buyers and developers.

RMan
03-20-2006, 05:50 PM
What about the fact that the Ageia SDK has a cheaper licensing cost compared to Havok?
Unless things have changed or I’m remembering them incorrectly, it’s $50K for Ageia, and $75K for Havok, even if you get Ageia for free (and with high profile games you might) the $75K is nothing for a retail product, so I don’t think the cost is going to influence major developers much.
I would rather spend 200 dollars on a PPU than 300-400 to get a rig that would operate in SLI mode to take advantage of GPU based physics calculations.
Well, I think you’re only applying that logic to games that make great use of the PPU, even if the PPU took off like a rocket, most games still wouldn’t make much use of it for 5 years (since many games don’t need it at all). IOW, if the GPU is effective at doing it, I’d rather sink money into a GPU, since it’s always going to be helping me in one way or the other (if no physics, it’s working on graphics).

Busted_Astromech
03-20-2006, 07:51 PM
I find it interesting that this implementation would place physics detail sliders in the "Advanced Graphics Options" menu of games.

abso
03-20-2006, 08:36 PM
On the other hand, not all games utilize shaders and high performance graphics, but I should still spend 300-400 dollars on a high end card to get performance for a few titles? I'm not trying to say that GPU based physics is not good. Frankly, I think it is an awesome idea that should have gone mainstream months ago. I would love to see some real-world performance demos utilizing physics shaders. Then compare that to the same demo where instead of just doing it on the GPU, the physics are threaded and calculated in parallel on another core of the cpu. I want someone to prove to me that a graphics card is where physics should be done. I'm not against the idea, I just want something more than a press release. Because what is going to happen when the bottleneck is no longer the cpu, but the gpu again? Shader model 4 (the one coming with dx10) is going to essentially introduce the ability to do dynamic, modifiable terrain through shaders. Won't things like that bump down the priority of physics? Then it's back to the cpu for them. Why can't we just compartmentalize physics onto its own chip like we did with 3D graphics and forget about it?

RMan
03-20-2006, 11:49 PM
On the other hand, not all games utilize shaders and high performance graphics, but I should still spend 300-400 dollars on a high end card to get performance for a few titles?
I don’t think you should. Keep in mind, the system doesn’t require SLI, just SM3 board which can be had for $100. How much you want to spend on your system to get extra power is up to you, the point is why spend money on something that does only one thing if you can spend it on something that does both (and likely pay less since it’s a market with competitors).
I want someone to prove to me that a graphics card is where physics should be done.
Well, I’d like that as well, I know for a fact that modern video cards smack the crap out of a CPU when it comes to the volume of math it can do, but how well that translates into a robust physics solution, I don’t know. I think it’s another way for NVidia and ATI to sell hardware, so I’ve no doubt they’ll make a good stab at supporting the development of it though.
Because what is going to happen when the bottleneck is no longer the cpu, but the gpu again?
Hehe, I suspect for some gamers the GPU will always be a bottleneck, you make a better GPU, they’ll just demand a higher resolution. With even the medium level cards, I don’t think common physics calculations would put a dent in what the GPU is currently doing, but that’s pretty speculative. Regardless, doing it on one hardware solution is superior, IMO, it keeps people working on improving the same APIs and hardware, and advances in one will often benefit the other. Again, this is assuming that it’s a good fit for the GPU architecture (I don’t know that much about how well the tech can be used for less linear operations like physics stuff).

Carnifex
03-21-2006, 03:50 AM
...you really aren't following this.
It seems we have misunderstood each other. I'm perfectly aware that shaders exist and are standardized. I was assuming some kind of new shader was needed, and thought you meant that too since you mentioned "specially-crafted shaders". If additions or changes to hardware are needed then my concern remains valid.

Schnoogs
03-22-2006, 09:07 PM
IGN has an article on the AGEIA PhysX Physics Processor....

IGN (http://gear.ign.com/articles/697/697450p1.html)

I highly recommend you watch the Cell Factor video....amazing!

bobbler
03-22-2006, 10:03 PM
I hope you guys realize that this isn't the typical type of physics we all have come to appreciate in games -- that just wouldn't make much sense.

This is physics for things that don't affect gameplay (like things that can't actually move real geometry that the player can collide with) -- this is for things like sparks, and smoke, and other completely visual things, not boxes you throw around to hit other boxes, etc. All the "physics" here are done in the shaders, so it means the final position of the actual "gameplay" objects are likely handed to the gpu at the time it recieves this, so if you wanted to do real gameplay affecting physics on a gpu it'd have to do the calculations then toss it back to the cpu for it to do some others (likely) and then right back to the gpu -- that isn't exactly the most efficient way of spending cycles. This type of physics is truly made for a GPU, but it doesn't in any way replace something like the ageia card or a normal physics engine.

It's called HavokFX for a reason -- its for "Effects" ... not the Halflife 2 style fun-with-physics stuff that we expect every game to have.

Schnoogs
03-23-2006, 07:19 AM
I hope you guys realize that this isn't the typical type of physics we all have come to appreciate in games -- that just wouldn't make much sense.

This is physics for things that don't affect gameplay (like things that can't actually move real geometry that the player can collide with) -- this is for things like sparks, and smoke, and other completely visual things, not boxes you throw around to hit other boxes, etc. All the "physics" here are done in the shaders, so it means the final position of the actual "gameplay" objects are likely handed to the gpu at the time it recieves this, so if you wanted to do real gameplay affecting physics on a gpu it'd have to do the calculations then toss it back to the cpu for it to do some others (likely) and then right back to the gpu -- that isn't exactly the most efficient way of spending cycles. This type of physics is truly made for a GPU, but it doesn't in any way replace something like the ageia card or a normal physics engine.

It's called HavokFX for a reason -- its for "Effects" ... not the Halflife 2 style fun-with-physics stuff that we expect every game to have.

Thats not true...the results from the GPU would be read back into main memory and the game engine would act upon them.

This was brought up a few pages back by Mason. This is obviously a costly operation.

bobbler
03-23-2006, 04:38 PM
Thats not true...the results from the GPU would be read back into main memory and the game engine would act upon them.

This was brought up a few pages back by Mason. This is obviously a costly operation.

I suggest you read up on HavokFX if you think they are going to offer any gameplay changing physics with it. It may be possible to completely run physics on the GPU, but it isn't necessarily going to be the most efficient way of doing things -- sending stuff to the GPU to do the physics on, and then reading it from ram afterwords (can a CPU easily read from the GPU's ram? or can the GPU output shaders to main ram? problems.) and then having the CPU mess with it, and then send the stuff back to the GPU to actually render is not what I'd consider a worthy use of your hardware, unless you're severly CPU limited and have a huge load of GPU power to blow. I'm sure you're aware though.

I'm not quite sure what you were responding to with "That's not true" I guess...

Balthasar
03-23-2006, 06:29 PM
I suggest you read up on HavokFX if you think they are going to offer any gameplay changing physics with it. It may be possible to completely run physics on the GPU, but it isn't necessarily going to be the most efficient way of doing things -- sending stuff to the GPU to do the physics on, and then reading it from ram afterwords (can a CPU easily read from the GPU's ram? or can the GPU output shaders to main ram? problems.)
I have no idea what the answer to these questions are, but I'm pretty sure I read something that made it sound (to me) like Vista's programing would involve the integration of system ram and gpu ram for gui-related tasks.

bobbler
03-23-2006, 08:00 PM
I have no idea what the answer to these questions are, but I'm pretty sure I read something that made it sound (to me) like Vista's programing would involve the integration of system ram and gpu ram for gui-related tasks.

I wasn't intending to have an argument about whether or not full physics on a GPU is possible, because it likely is -- but HavokFX isn't that, that's all I'm pointing out (for those here spouting doom for Ageia and the like and heralding a new era of GPU physics). It's for things like particles (how they'll fall and bounce of things, without affecting them). It's, as I said in my original post, not a replacement, by any means, for a normal physics engine; this is a graphical enhancement (hence why it works so well on a GPU -- it is truly a graphical effect, akin to normal mapping -- it doesn't really affect the game play, but it looks better and more realistic, in some cases at least)