Anyone using Displacement Mapping?

On Friday at GDC I attended a session hosted by ATi on a tool they’ve developed for creating displacement maps from a high res mesh for use on a low res mesh. You can read more about the tool here:

http://developer.amd.com/gpu/MeshMapper/Pages/default.aspx

They applied this technique in a recent demo and were able to achieve some pretty good results in terms of the amount of geometry detail they could push. Here’s the demo:

http://developer.amd.com/documentation/videos/pages/froblins.aspx

This whole idea is a bit of a paradigm shift - kinda like the transition to using normal maps that everyone had to go through - so it’s going to take a bit of adjustment to get used to it. What I’m wondering is, has anyone actually tried this either in a personal or company project - and if so, how do you feel about it?

Even if you haven’t tried it, do you think this is the next big thing? Or is there some other tech that you know about that will get us to this level of geometry detail?

There is certainly no problem with creating the assets for characters, it’s not a large leap from normal maps, we have all the data. Infact I seem to remember displacement mapping being the direction people were dreaming of before normal mapping turned up. I’ve used it before, but for offline rendering using Mental Ray.

I don’t know it you would get even more issue than you do with normal mapping, stuff like seams etc.

Problems I can see would be with different platforms, it should be possible on 360 and ATI hardware that has hardware tesselators, PS3 you would probably have to use SPUs (which are already probably being used for other stuff! :D:). I seem to remember Nvidia geometry shaders on their DX10 cards aren’t any good for tesseletion. I’m not up on where Nvidia is with DX10.1 which should support tessellation. But its anybodys guess what the performance would be like across the range.

I would be interested to know how many 360 games have used the hardware (viva pinata, the only one I know of) and if any of them are cross platform.

It might not be until DX11 or the next generation of consoles that we see wide use of displacement maps if they ever take off. I know at the moment we have enough to worry about without adding this tech :slight_smile:

My understanding is that Halo Wars shipped using the hardware tesselator. I don’t know of many more.

Do we even need this level of geometry detail? I say no, at least in this graphics generation and probably the next (maybe when we switch to an even higher-definition). We do not have infinite performance, and that performance is much better spent in other areas where the GPU is/can be used, rather than with displacement mapping.

Look at how graphics were in 2004, then 2006, then 2008, and what people are doing for games that will ship in 2010. The rate of improvement even without a paradigm change like displacement mapping is huge and accelerating. Displ mapping doesn’t even address the lacking areas of fidelity (for the most part, we can render almost photoreal already, it is when we put things in motion and make them interactive where the quality dies). It is important we see these techniques are demonstrations of graphics hardware and possibilities (like nVidia’s human head demo), and not as some great big thing. There are at least a couple others (such as raytracing) I’m thinking of, that hardware manufacturers and marketing push on us and hype- but ultimately it will be the developers making the decision and adopting the tech, and there just isn’t a need right now.

I’ve heard of it before but never used it! Interesting demo! :):

I’d have to disagree AND agree with Rob. Right now, it’s near-pointless due to the technical shortcomings, lack of support and certainly a lack of robust tools (.obj format? shame on you AMD), but as a method for achieving exceptional detail at the lowest performance cost (FAR less than by tessellating and transforming millions of verts), it’s the clearest path forward. With DX11 support making the technology ubiquitous, its adoption is near-guaranteed.

While I thought the demo that was presented was interesting, it was simply the wrong kind of game to be showing the technology. Games like sports games, racing games, open-world games (GTA) and other character-based games could realize a great visual boost while using a lot of existing art pipelines (mudbox/Z Brush).

I was actually most impressed with the terrain tessellation and the quality that lent the materials and lighting. I’ve always found parallax mapping to only look really good in very specific cases.

Oh, and I’ll bet dollars to donuts that the next gen in consoles (Xbox 720, PS4) will be focusing a LOT on this kind of technique as much as current hardware does on pixel/vertex shaders and the normal-map based graphics pipeline.

Hmmm…I certainly don’t use that, but I’ve made some custom displacement shaders that don’t tessellate the geometry.

I was trying to get a GPU-side wave on an ocean surface, but I was trying to get the concave curl of the wave in there. I ended up prototyping it with a MaxScript that baked a modeled wave into an RGB texture for XYZ displacement, and getting the displacement with a hardware texture fetch. The ocean surface was tessellated in Max, but in game it would probably be tessellated on the fly.

The results were alright - as far as I know, MaxScript doesn’t write out 16 bit channel textures, so there was some precision loss. If someone knows how to do that, I would appreciate a pointer in the right direction!

I mixed that in with a vertex-texture wave function, and scrolled the displacement UV coords to make it move, and by using a “Wave Intensity” to control how much it displaced with some simple noise made it look more natural.

Not ‘perfect,’ and certainly expensive, but certainly usable in cinematic shots or areas designed to show it off – ie, less enemies and other expensive assets on screen.

Often seen after you write a post on the fun进口轴承进口轴承进口轴承

整容整形 韩式整容 韩式整形 医疗美容 大连整形美容