Is displacement mapping a SM3 thing or ....?

Jun 14, 2003
10,442
0
0
is this feature soley available in SM3 and therefore on NV40 or can it be done with SM2

im sure the guy in the HL2 video was showing displacement mappin off when the ground suddenly rose up in random hills! an he would have been using a R3x0
 

alexXx

Senior member
Jun 4, 2002
502
0
0
everything you can do in sm3, you can do in sm2, UNLESS the shader code goes over the line# limit of sm2 which i highly doubt will ever happen. SM3 is just marketing.
 

Lonyo

Lifer
Aug 10, 2002
21,938
6
81
If a shader is too long, you just do it in multiple passes with SM2.0 IIRC.
Someone had to rework the shaders for the Ruby demo to make it work with R3x0 cards because they were too long (made for the R4x0 cards which have a bigger limit).
 

ponyo

Lifer
Feb 14, 2002
19,688
2,811
126
It's my understanding that displacement mapping is SM3 only thing and can't be done with SM2.
 

Insomniak

Banned
Sep 11, 2003
4,836
0
0
The Unreal Engine 3, which uses virtual displacement mapping extensively, has been shown on both PS2.0 (ATi) and SM3.0 (NV) cards. It can be done with 2.0, it's just slower and more inconvenient for coders to program.
 

alexXx

Senior member
Jun 4, 2002
502
0
0
Originally posted by: Naustica
It's my understanding that displacement mapping is SM3 only thing and can't be done with SM2.

i'm not at all surprised that your rig has an nvidia card in it. I am not implying that you are a fanboy, i am just saying that by liking nvidia you are more apt to play into the hands of anti ati press.
read the other posts in the thread
 

Insomniak

Banned
Sep 11, 2003
4,836
0
0
Originally posted by: alexXx
Originally posted by: Naustica
It's my understanding that displacement mapping is SM3 only thing and can't be done with SM2.

i'm not at all surprised that your rig has an nvidia card in it. I am not implying that you are a fanboy, i am just saying that by liking nvidia you are more apt to play into the hands of anti ati press.
read the other posts in the thread



So what? I use Nvidia and plan to upgrade to Nvidia. Some of us have reasons you know...
 

ponyo

Lifer
Feb 14, 2002
19,688
2,811
126
Originally posted by: alexXx
Originally posted by: Naustica
It's my understanding that displacement mapping is SM3 only thing and can't be done with SM2.

i'm not at all surprised that your rig has an nvidia card in it. I am not implying that you are a fanboy, i am just saying that by liking nvidia you are more apt to play into the hands of anti ati press.
read the other posts in the thread


What card I currently use is irrelevant. Can you provide a link which shows displacement mapping being done with SM2.0?
 

ponyo

Lifer
Feb 14, 2002
19,688
2,811
126
Originally posted by: alexXx
hl2. as the OP said.


Sorry if I don't place much weight on info from message board posters. I find there's more inaccurate info from these kind of forums than accurate info. So I will ask you again. Do you have any reputable links that show displacement mapping being done with SM 2.0? Or are you just repeating noise you've read on message boards?
 

Marsumane

Golden Member
Mar 9, 2004
1,171
0
0
I think the claim is that whatever visually you can do with sm3 u can also do w/ sm2. NOT the same way, but the same visually with a higher performance hit. Aka you cannot do displacment maping on a 2.0 card but u can do something that makes it have the same visual effect.
 

Pete

Diamond Member
Oct 10, 1999
4,953
0
0
I think SM3.0 allows for displacement mapping to be done by the vertex shader. As HL2 is basically SM2.0, I'd imaging the displacement mapping shown is done by the CPU.

Virtual displacement mapping (basically an optical illusion--though I suppose you could argue that all 3D rendering is an optical illusion) doesn't displace geometry, so it's a separate issue from the OP's concern about real displacement mapping (e.g., shifting the ground).
 

ponyo

Lifer
Feb 14, 2002
19,688
2,811
126
Originally posted by: Marsumane
I think the claim is that whatever visually you can do with sm3 u can also do w/ sm2. NOT the same way, but the same visually with a higher performance hit. Aka you cannot do displacment maping on a 2.0 card but u can do something that makes it have the same visual effect.


Yes, there are always work around but usually at cost, ie more time consuming/complex, slower, or doesn't look good as the real thing.

I've found a link which shows displacement mapping can be done with depth adaptive tessellation. So I guess it's possible.
 

Ages120

Senior member
May 28, 2004
218
0
0
Not really sure. Only tech demo I have seen that does virtual displacement mapping is Unreal 3.0. HL2 used a displacement map to feed information about actual geometry. I am not sure if Virtual Displacement mapping is the same as Normal mapping or if it is a SM3 VS3 only feature. I think that unreal 3.0 was shown running on x800 hardware though as it higher length for the shader code while 6800 has infinitely long shader code capabilities.
 

ponyo

Lifer
Feb 14, 2002
19,688
2,811
126
I was under the impression virtual displacement mapping on Unreal 3.0 is Parallax Mapping which is basically nice fake displacement mapping technique but not quite the same thing.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
It's my understanding that displacement mapping is SM3 only thing and can't be done with SM2
That is incorrect.

Displacement mapping can be done in Truform, SM 2.0 or SM 3.0
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: Naustica
I was under the impression virtual displacement mapping on Unreal 3.0 is Parallax Mapping which is basically nice fake displacement mapping technique but not quite the same thing.

AFAIK, 'virtual displacement mapping' == Parallax Mapping == Offset Mapping (essentially, a more sophisticated form of normal/bump mapping). It's NOT the same as true vertex displacement mapping (which allows for things like true self-shadowing and intersection tests against the deformed objects), but it looks very similar in a lot of situations, and can be done using SM2.0 in hardware (at least, I'm almost certain it can).

SM3.0 allows you to do "real" displacement mapping entirely within the vertex shader, in a single pass (SM2.0 cannot do it this way, as the vertex shaders need to access texture data to do it) -- but it is still a very computationally intensive process, at least for complex objects with complex displacement maps. You probably *can* do real displacement mapping in SM2.0, but I doubt it would ever run fast enough to be useful, and it would certainly be a huge PITA. It is unclear to me if either Unreal3 or the patched Far Cry uses "real" displacement mapping, or just parallax/offset mapping, or if there would be a huge visual disparity between them.