Guden Oden said:
Do you really HAVE to use that many vertices tho? 2k texture maps - there aren't even that many pixels on the screen, if there were 2k squared vertices per texture map per character there would be far far far far more geometry than could ever be seen, even at 1080P res, and that's as high as video screens will go for the foreseeable future. Seems to me, there's plenty headroom for some rendering cheatin' there!
Keep in mind that the back faces of a character would get culled which should cut the number of visible polygons in half for a start. But you'd still have to process those vertices as well...
As for visible detail, check out UE3 screenshots and I'm sure that on close-ups you'd see pixelation in the textures. That means that one texel is bigger than a pixel on the final image, so there you'd actually get better results from a 4:1 vertex to texel ratio, as the 1:1 version could start to show artifacts. Which brings me to the other point... geometry can produce horrible aliasing, especially if it's full of tiny bumps with shadow/light transitions. I'm not sure how well MSAA would help this, but PRMan is using very high levels of AA to get artifact-free results with displacements. This way, a lot more detail will get into the final image than what would be visible with only 1 sample per pixel, and so you would see the difference with a less detailed model.
Also, if you want to completely replace bump/normal mapping with displacement, then you really need to have similar resolution to get the same shading detail. Otherwise what would give the shaders the necessary information? But displacement can only work through geometry.
Selectively detailing the model isn't really possible. First it'd take as much work as actually modeling everything by hand, and it'd stress the geometry pipeline as well, with a lot more data, ruining the 'compression' effect of displacement. And besides, you usually don't have totally smooth parts on a model as that would make it look artificial, and you want wear and tear on artificial surfaces as well, to make them more interesting and lifelike. So there shouldn't be any parts on a model where you'd not want to have displacement.
Unless, of course, you choose to combine displacements and normal maps as I've mentioned in my post.
But the point that you make is correct, in most cases you'd not see all that geometry. This is why the preferred approach is to use a higher order surface, preferably subdivision surfaces, and combine them with adaptive tesselation. And this is what needs hardware support to work properly.
Would it really? You mentioned large-scale displacement would look weird for various reasons, so if only small scale is used instead,
would you really notice self-shadows might look a bit off?
I assume the shadows would cover displaced geometry, but not reflect the changed shape of the displaced geometry, and rather just the original shape of the base geometry. Am I right or wrong?
In close-ups, yes, because for example vertices moved towards the inside of the model should get shadowed in places but wouldn't be because their original position was not covered from the light source; and vice versa, some geometry raised up from the original surface would remain in shadow. Haven't tested it yet, but I might try to get some results.
You see shadows are soooo sensitive that even without displacement you usually have to tweak a lot of settings in offline rendering to avoid artifacting. I'm still not sure how game devs avoid such problems... but AFAIK, many engines still use stencils for character self-shadows? Heavenly Sword should be a different case though, shadow maps for everything.
Could you please explain why this is the case? I don't know enough about stuff like this to figure it out on my own...
You would render the character itself with displacement mapping into one set of shadow maps, and use them in the rendering of the characters. This way the self-shadowing would be correct.
Then you'd render the entire scene to another set of shadow maps, but skip the displacement for the characters. So their shadows cast on the enviroment wouldn't have displacement detail, but especially if the shadows are smooth edged, noone would notice the difference.