I will sabotage Stefan's attempts to be "angry", he been telling non-stop how he loves the image quality on the card. The fact that it's the card he has on his system tells that he's not against Matrox by large margin.
When I saw the displacement mapping videos, the character skinning and the landscape.. my jaw dropped to the floor, since that kind of functionality is precisely what I been waiting for.
If I may rehash to the first post, basicly, we need two things:
1. sampler2d on vertex program/shader, this will allow us to write something like this (Cg/HLSL follows):
// read displacement value
float disp = tex2D(dmap,v.texture0);
// displace vertex
float4 pos;
pos.xyz = v.point + v.normal * disp;
pos.w = 1.0;
// ... rest of the vertex program
This would implement only vertex-accuracy displacement mapping, but still, the reads from displacement map would be filtered, etc.etc. and done inside the GPU. Currently similiar trick needs to be done in software using FPU, SSE or similiar. The especially slow part is moving geometry through the bus.
OK-- presampled displacement is possible already, if we store in the vertex presampled displacement value, and have a global "uniform" in HLSL terms variable with strenth. Atleast we can modulate the effect strenght. But this isn't anything different from tweening anyways and nothing new.
The "cost" is same, float per vertex, or in the displacement texture. The displacement mapped version consume texture coordinates.. but often it is arranged so that different channels share coordinates (possibly with different bias and scale). In landscape texcoords can be computed, and is very easy, especially if little texture coordinate packing on steep slopes isn't a problem (texel density is variable of slope on planar mapping).
Yadda yadda.. the (1) combined with 2. Adaptive Tesselation, would "0wn", since this would allow the data to be streamed from GPU's local memory, which is very high-performance. The interpolation of texture coordinates when tesselating triangles would sample unique values from the displacement map, not just filter the existing ones from vertices. This is why both features are needed for high-fidelity results.
...
Just random thoughts on the topic. Then some gaming related thoughts:
- Halflife 2 can't be released a day too soon
- Max Payne 2 also has beautiful graphics what I seen from published screenshots and if it plays like the previews indicate, that game can't be released a day too soon either
- Then DOOM III looks absolutely brilliant aswell
Just amazing stuff coming down. Halo2 on xbox.. must work NOW as much as possible, because I'm going to be 'sick' suddenly when these games begin to come out... anyone else a hopeless game-addict?