GeForceFX and displacement mapping?

Democoder said:
Can't any of the ATI employees here comment on the real deal? Is DM switched off in the ATI DX9 drivers because it isn't implemented yet, or because the hardware only supports pre-sampled displacement maps?
Well, I'm not from ATI (duh) but I can say with certainty that the R300 only supports "DX9 DM" with pre-sampled displacement maps.

[edit]This means it's a hardware limitation, in case this isn't clear.

Democoder said:
Like I said, as far as I know, there exists not a single demo demonstrating DM on either DX9 refrast or on the Radeon9700 using any API.
Using vertex shader, the Xvox demo : http://users.belgacom.net/gc610902/
 
Like I suspected... it's BSpline or Bezier. It's called render to vertex array.This is mentioned in NVIDIA's CineFX whitepaper and I don't think this has changed at all with the GF FX launch.
 
BoddoZerg said:
Reverend said:
Using vertex shader, the Xvox demo : http://users.belgacom.net/gc610902/

So if Displacement Mapping can be done on any DX8 class hardware, then whats the advantage of Parhelia-style DM?

Maybe I'am wrong but I think a vertex shader can't genrate a vertex. So if you use DX8 class DM you need the texture and a polygon, which has the needed vertices for max. detail level.
If you use the DX9 style, you could just send a rectangle (2 trinagles) and a texture to the VPU and it tessellates the rectangle according to a specific LOD -> less vertices have to be transfered to the VPU

Update from NVIDIA:

We will update the documents to describe in more detail what the GeForce FX can do. The GeForce FX does not support displaced npatches, but it does allow rendering to a floating point texture that can then be used to
displace or modify vertex positions.

-Doug


Thomas
 
Rev, any source? If true, this means that the R300 doesn't have a texture sampler in the tesselator/vertex shader and can't do Matrox style DM, meaning it can't sample a texture map and adaptively tesselate a polygon.

All it can do is apply a pre-sampled map, but this can be done by any card.
 
Ryu Connor said:
To my understanding the Matrox Parhelia drivers have all their HOS support disabled. No DM, no N-Patches, etc.

nice to see some fellow murcers here too. :)
yes, at the moment. but I saw somewhere at Matrox boards that when DX9 driver comes, it's main focus is in the displacement Mapping.

and right now it seems that Matrox is the only one that has Adaptive tesselation with texture sampling.
 
Fun(?) anecdote about the "render to vertex array".
Read what "cass @ nvidia" wrote here. Note the 9:th quote from davepermen, and cass' answer to it.

Just a few days after that, "render to vertex array" was added in the info from nvidia.

I remember asking similar questions to nVidia dev rel back when GF3 was new. (But then it was of course anout using a 4x8bit texture as a displacement map, by specifiying that vertex stream as "packed byte".) I never got any clear answers to that though.
 
tb said:
Update from NVIDIA:

We will update the documents to describe in more detail what the GeForce FX can do. The GeForce FX does not support displaced npatches, but it does allow rendering to a floating point texture that can then be used to
displace or modify vertex positions.

-Doug

Interesting, this makes it equivalent to pre-sampled DM although a slightly more flexible form in that they can render to the input stream of the vertex shader using the pixel shader. This does in effect mean they do not actually support displacement mapping in the pure DX9 form, and this seems to imply that only Matrox currently supports addaptive true displacement mapping.

I agree that they should update their docs, marketing is confusing people (not an industry first ;) ).

K-
 
Bambers said:
Well the 9700 tech demo ( http://mirror.ati.com/vortal/r300/educational/main.html ) on atis site has slides for both continuous/adaptive tesselation and displacement mapping. Doesn't that mean it can add verticies or is that done in software?

I've already linked the presentations here. The problem is the ATI people aren't clarifying the issue for whatever reason, so the conclusion being reached is that there is something missing in the R300.
 
Yeah, it seems like it would be easy for the known ATI employees here to respond with a simple yay/nay on this issue. The don't hesitate to correct other inaccuracies and FUD about the R300, so the fact that no one has commented makes me suspicious.

I just looked at the flash "demo" again, and they mention TruForm2.0 tesselation in concert with "displacing vertices sampled from a displacement map". But DX9 is quite clear that pre-sampling means no adaptive tesselation. So what method does the R300 support? OGL Guy? Anyone?
 
Crusher said:
WaltC said:
a lot of 3D games don't have a lot of collisions going on (CRPG's, adventures, etc.)

Space and flight sims would be about the only games I can think of with a minimal ammount of collision detection. I can't remember the last time I played a RPG and I was able to walk through walls. In fact, I think a lot of games need more collision detection than they have. I recall multiple times where I fell through the ground in Hidden and Dangerous, for example, and I believe it's due to a poor collision detection algorithm, as there don't appear to be visible gaps in the terrain itself.

No doubt, but I didn't mean to imply that you first need to remove all collision detection...;) Just that in some games it's far less of a problem than in others (Because you don't have multiple objects colliding every frame.) This would make it doable, if a bit more time consuming--assuming detection is a bit more difficult when using displacement mapping.
 
Adaptive Tesselation

This is from the educational demo, under the Trueform 2.0 section:

http://mirror.ati.com/vortal/r300/educational/main.html

"An adaptive tesselation option is also supported, which dynamically adjusts the tesselation level of a surface depending on the distance of the viewer. Thus nearby surfaces will have more detail and more polygons, while distant surfaces will have less."
 
DemoCoder said:
Rev, any source? If true, this means that the R300 doesn't have a texture sampler in the tesselator/vertex shader and can't do Matrox style DM, meaning it can't sample a texture map and adaptively tesselate a polygon.

All it can do is apply a pre-sampled map, but this can be done by any card.
A manager at ATI told me. There is no way for adaptive tesselation on the R300. As mentioned, it is a hardware limitation. And yes, VS2.0 can do this.

Democoder said:
But DX9 is quite clear that pre-sampling means no adaptive tesselation. So what method does the R300 support? OGL Guy? Anyone?
Er, didn't I already clarify this? Again, R300 can only support pre-sampled displacement maps.

Can you point me to any DX9 documention that says that adaptive tesselation is a "must" for this particular compliancy? I can't find it.
 
There are two types of displacement mapping. One with full texture sampling, and one with pre-sampled maps. DX9 specifically says that if you use pre-sampled maps, adaptive tessellation must be turned off.

However, displacement mapping with only pre-sampled maps and no tessellation is pretty limited. Any DX8 card can do it, and it isn't very useful. You have to "pre-tessellate" your mesh if you want to get a good result, but if you pre-tesselate it, you can "bake-in" the displacement statically anyway.

In any case, real DM delivers geometry amplification and super silhouettes. Pre-sampled DM can pretty much only deliver some special fx, like "destructable terrain" or other effects you can get by overlaying a pre-sampled (constructed by the CPU map) onto a terrain mesh.

Basically, if R300 only supports pre-sampled maps, then the NV30 and R300 are equivalent in DM in this regard, and only Matrox has a truly useful DM implementation.

I think most delivers would avoid pre-sampled maps and just supply their own extra vertex streams and use a vertex shader to get the effect. I would bet that this is probably how the R300 driver internally supports the pre-sampled map anyway.

I guess we will have to wait until DX10 level cards for DM capability to be delivered for real.
 
Back
Top