True displacement mapping (SM3.0) demo

tranCendenZ

2[H]4U
Joined
Jun 6, 2004
Messages
3,844
http://www.realityflux.com/abba/C++/Displacement Mapping/DisplacementMapping.zip

Use WASD to move, hit the spacebar to control with the mouse.

Program uses VS3.0 for true displacement mapping on the water ripple, and also has a fallback to SM2.0's displacement mapping - though the effect is not nearly as good. Pretty cool - if you get close to the water ripple in VS3.0 mode and swing around the camera you can see the geometry has actually changed.
 
Neat demo, increasing the Swimmer Size and Swimmer Height to Maximum the framerate drops to 35FPS on my 6800U.

If there were a lot of these it'd be unplayable.

Neat effect, but I don't think these cards are fast enough to do a lot of it yet in games, maybe the next gen.


BTW this appears to be OpenGL.
 
Something tells me that this isn't right:

disp.jpg


9800pro :p
 
Anyway to make it switch between VS3.0 and 2.0 in real time? Id be interested in seeing the difference.
 
Brent_Justice said:
Neat demo, increasing the Swimmer Size and Swimmer Height to Maximum the framerate drops to 35FPS on my 6800U.

If there were a lot of these it'd be unplayable.

Neat effect, but I don't think these cards are fast enough to do a lot of it yet in games, maybe the next gen.


BTW this appears to be OpenGL.

...Mine stays at 30fps no matter what I do...I think it might be locked to 30...I for one think these cards are absolutely fast enough to do this in games...because no one has shown a single fact to the contrary...I can't stand it when people bust out with the ATi PR dribble: current generation cards aren't fast enough to do PS3!!! :rolleyes:

Am I crazy, have I lost my mind? or is there just absolutely nothing to back up such a statement?
 
I didn't say they aren't fast enough to do Pixel Shader 3.0.

I am specifically referring to true dynamic real time displacement mapping in hardware. Actually creating geometry displacement maps with tessellation. I have my doubts about these current generation video cards being able to do that in real time at a playable performance in a game. I compare it akin to HDR performance hit like is seen in FarCry and SC Chaos Theory.
 
I couldn't get it to drop BELOW 85fps running everything maxed at 1920x1200. Is this something that would simply just run better on an ATI?
 
spine said:
Something tells me that this isn't right:


9800pro :p

I couldn't get it to drop BELOW 85fps running everything maxed at 1920x1200. Is this something that would simply just run better on an ATI?

you're seeing the emulated displacement mapping (a 2d effect), not the sm3.0 true displacement mapping which has extruded geometry - faster, but not as cool looking. ATI does not support SM3.0 so you can't see this type of special effect.

i.e. here is how the sm3.0 version looks up close. post how it looks with ATI cards on same settings/angle as my pic below.

1152x864 no aa/af SM3.0
http://www.reflectonreality.com/images/sm30/sm30wave.jpg

re: brent, i don't think we should judge whether a feature is usable speedwise because of one homebrew demo. :)
 
I have a 6800gt, athlon 3500, Vsync... with everything maxed, the demo stayed consitent at 60FPS. Perhaps there is a coding issue that makes it less efficient on certain hardware configurations..
 
damn me and my POS card/ I cant even get it to turn On...


:(

edit; ou have to remember, this is one feature, and a single demo. SM3.0 can do many other things then this. This is just a water effect.
 
BTW the UE3 engine supports real displacement mapping I hear. I can't wait to see that in action in a game. Imagine walls that don't just appear bumpy, but actually are.
 
I feel it would be good to point out here. As brent said, this demo uses OpenGL. OpenGL doesnt even has SM3.0 or VS3.0, those are Direct X 9 features.

So all these people in this thread saying 'oh if you had SM3 it would be so much leeter!' clearly have no idea what they are talking about.
 
Yup 100 % performance hit maxing it out :).

But that is what I already see in PF etc. I am glad it wasn´t because of shader model 3 support I bought my 6800 ULTRA though :)
 
uh current gen cant handle it? mine doesnt go off of 59.97fps not matter what on a a64 3000+ and a 6800gt
dunno if it matters but i also have forced max aa and af lol
untitled.bmp
 
Ballz2TheWallz said:
uh current gen cant handle it? mine doesnt go off of 59.97fps not matter what on a a64 3000+ and a 6800gt
dunno if it matters but i also have forced max aa and af lol

this isnt all the SM3.0 can do people.
 
Hate_Bot said:
this isnt all the SM3.0 can do people.
ah but no one said 6800 series could do all of what sm3 offers,just the fact that with lesser implementations ati is still gonna miss out so hate bot needs to stop calling it a worthless feature in every thread he posts in
 
Ballz2TheWallz said:
ah but no one said 6800 series could do all of what sm3 offers,just the fact that with lesser implementations ati is still gonna miss out so hate bot needs to stop calling it a worthless feature in every thread he posts in

Hoiwdo I call it a worthless feature? It may help a bit in timedemos ;)

This isnt in any current game btw, and you wont see it till AOE3,which the devs had said, no current card can support (with all the features turned up)

Bah, stop making up lies about what I say
 
:cool: 60fps on my 6600GT. It has short drops to the mid-50s, but it's pretty steady at 60.xx fps for most of the run.

swimmer.jpg
 
This freezes my computer :(

Is this a Humus demo? Because almost all of his freeze my system too.
 
Sizer said:
This freezes my computer :(

Is this a Humus demo? Because almost all of his freeze my system too.

Humus now works for ATI. You won't see him pimping SM3.0 exclusive visual effect demos until ATI's R520 is released supporting SM3.0, as a demo highlighting the current featureset deficit in ATI cards would be damaging for ATI.

This demo was made by "Abba Zabba":
http://www.nvnews.net/vbulletin/showthread.php?t=49867
 
^eMpTy^ said:
...Mine stays at 30fps no matter what I do...I think it might be locked to 30...I for one think these cards are absolutely fast enough to do this in games...because no one has shown a single fact to the contrary...I can't stand it when people bust out with the ATi PR dribble: current generation cards aren't fast enough to do PS3!!! :rolleyes:

Am I crazy, have I lost my mind? or is there just absolutely nothing to back up such a statement?

Brent said in games, not some tech demo with one thing on the screen.

He did not post "ATi PR dribble".

As to your last statement, HDR in Farcry kills performance, and makes it unplayable to me. My only game expierence with SM3.0, and my 6800GT couldnt handle it. Hopefully the next gen cards both both will vastly increase the speed over current hardware.
 
^eMpTy^ said:
...Mine stays at 30fps no matter what I do...I think it might be locked to 30...I for one think these cards are absolutely fast enough to do this in games...because no one has shown a single fact to the contrary...I can't stand it when people bust out with the ATi PR dribble: current generation cards aren't fast enough to do PS3!!! :rolleyes:

Am I crazy, have I lost my mind? or is there just absolutely nothing to back up such a statement?

Ya because a single tech demo with a single (or 2 ) shader running solely on your computer really represents an entire game where more then 1 effect will be going on at a time, and the things in the background (and being reflected by the water) are moving
:rolleyes:
 
Brent_Justice said:
I didn't say they aren't fast enough to do Pixel Shader 3.0.

I am specifically referring to true dynamic real time displacement mapping in hardware. Actually creating geometry displacement maps with tessellation. I have my doubts about these current generation video cards being able to do that in real time at a playable performance in a game. I compare it akin to HDR performance hit like is seen in FarCry and SC Chaos Theory.

Just a little correction here, this demo is indeed using 'true' displacment mapping in the vertex shader, however, there is no tessellation going on here in real time. The scene is a static triangle count. No current implementation of dispacement mapping in hardware can actually dynamically tesselate the geometry before displacing the vertices. Current graphics pipelines are still limited to 'one vertex in - one vertex out'.

Tesselation is the realm of next generation cards, which will be working with subdivision surface and bezier surface evalution in hardware. Then we will actually be able to create new vertices out of nothing in the graphics pipeline.
 
DarkBahamut said:
I feel it would be good to point out here. As brent said, this demo uses OpenGL. OpenGL doesnt even has SM3.0 or VS3.0, those are Direct X 9 features.

So all these people in this thread saying 'oh if you had SM3 it would be so much leeter!' clearly have no idea what they are talking about.

err eh

some confusion here

"Shader Model 3.0" is indeed part of Direct3D in DX9

but OpenGL supports the same features through extensions, and the the fragment shader, gl_fragment program / shader etc...

basically the same things that can be done in D3D can be done in OGL, and more even since it supports extensions
 
eXzite said:
Just a little correction here, this demo is indeed using 'true' displacment mapping in the vertex shader, however, there is no tessellation going on here in real time. The scene is a static triangle count. No current implementation of dispacement mapping in hardware can actually dynamically tesselate the geometry before displacing the vertices. Current graphics pipelines are still limited to 'one vertex in - one vertex out'.

Tesselation is the realm of next generation cards, which will be working with subdivision surface and bezier surface evalution in hardware. Then we will actually be able to create new vertices out of nothing in the graphics pipeline.

Exactly, which is what i was getting at.

Current cards can't create geometry, maybe the next gen will be able to. Hopefully they will be fast enough at it as well, heh.

Typically, and this has happened many times in the past people, a feature is introduced on a line of video cards and while it works great, the cards just aren't fast enough to make it playable in an implementation in a GAME. It may work great in a DEMO, but not a game. That's all I'm saying. Usually the second gen cards that have the feature have enough horsepower to make it useable in a game.

We are seeing this with HDR now, I think we all know how turning it on in FarCry and SC: Chaos Theory decreases performance, and it doesn't even support AA with it. Maybe the next gen cards using it will support HDR with AA, at better framerates.

Now, I said TYPICALLY. Not ALWAYS. We do not yet know how 'true' Displacement mapping in VS 3.0 will perform in a game on the GF6 series yet because no game is using that feature.

But as eXzite stated current cards cannot create geometry yet. SM 4.0 i.e. DXNext i.e. WGF 2.0 supports it.
 
eXzite said:
No current implementation of dispacement mapping in hardware can actually dynamically tesselate the geometry before displacing the vertices. Current graphics pipelines are still limited to 'one vertex in - one vertex out'.

Actually, ATi advertised with dynamic tesselation and displacement mapping with their TruForm II on the R300 (not programmable though, more like how eg trilinear texture filtering works).
But I don't know what happened to that... As far as I know, it was never exposed in any API... so I have no idea how to use it... and they stopped advertising it aswell... I wonder what happened there.
The demos looked impressive enough anyway.
 
Brent_Justice said:

THANK you, this is exactly what I am always getting at. Just because a card can support a feature, doesnt mean it's fast enough to use it. This would be true with both the nvidia cards and the ATI cards
 
Back
Top