Normal Map Compression One of the highly touted features with the introduction of ATI's R4xx family was the introduction of normal map compression, which they dubbed 3Dc which the 7800 GTX now supports as well (click here for a more in-depth discussion). Although 3Dc was highly impressive, currently support in games seems to be a bit lacking. When talking to id after the release of DOOM 3 and questioning them about 3Dc support, they replied that the install base was not wide enough to implement it in DOOM3 so instead they used a slightly lower quality compression scheme that used the older DXTC compression scheme (which is not optimal for normal maps as it introduces some artefacts) which was more widely supported.
New Antialiasing Modes
There are a couple of new antialiasing algorithms introduced with the 7800 GTx, transparency adaptive supersampling and transparency adaptive multisampling. For those that are not familiar with each antialiasing method, the quick and dirty explanation is that supersampling renders a scene at a higher resolution and scales it back down to the output resolution while multisampling takes into consideration nearby fragments (subpixels) and does some blending. Multisampling has been in much wider use than supersampling because the performance hit is much lower but is generally considered to be of lower quality. Neither method of antialiasing is new but the curve ball here is the transparency adaptive portion.
Nasty aliasing problems generally occur in thin lined objects such as vegetation and chain link fences because aliasing occurs not only on the edge of a polygon but also on the texture since it does not wrap around very thin geometry too well. With transparency adaptive supersampling, the texture itself is also antialiased by examining the texture's alpha channel (transparency) near the edges of the texture and keying them off for blending. This results in fewer jaggies from aliased texturing which is not solved by simple multisampling or supersampling. <>
A perfect example of how supersampling does not antialias the vegetation texture - note that the picture here was shrunk by approximately 50% in size yet the edges of the middle texture are still noticeably worse than the right most figure. With classic AA, only the the edges of the green polygon in the first illustration will be antialiased.
Transparency adaptive multisampling does not key off areas of the entire texture but takes a single texel sample that is applied to surrounding fragments. This has less of a performance hit at the expensive of some visual quality although it is still better than simple multisampling or simple supersampling.
There was talk about how antialiasing was not very effective in DOOM 3 because the number of edge aliasing problems were minimal and the more serious problem was internal aliasing which meant problems with texture aliasing which as discussed, is not solved by super or multisampling exclusively. With the two variants of transparency adaptive antialiasing, it may be worth revisiting the issue.
Pixel Shading Techniques - Evolving Bumpiness
We're starting to wander into regions that are not exclusive features of the 7800 GTX per se but are included because of the computational cost of some of the following techniques, it is only really feasible to use them now. One of the techniques covered is parallax mapping which is an upscale version of bump mapping. In the Luna demo, the eyeballs in the background are actually made of only a polygon or two, parallax mapping simulates extra geometry.
The eyes have very minimal geometry
Relief mapping is one step above that and does a more accurate representation of the height. Due to time constraints this discussion will have to be cut short for now. Here are several pictures of demos and games to highlight the differences between bump mapping / parallax mapping and parallax mapping and relief mapping.
Bump mapping vs Parallax Mapping in Splinter Cell Parallax mapping on the left, Relief mapping on the right.
HDR Rendering (High Dynamic Range)
One are in lighting that NVIDIA feels will really take off in the upcoming generation of games is HDR lighting. HDR is much more precise than regular RGBA - instead of having just 8-bits per color component, HDR allows for up to 32-bits per component which results in much more accurate color calculations. Without this sort of precision, rounding errors occur resulting in the washed out look seen in the second and third screenshots in the top row of the image below. HDR can be currently seen in action in Far Cry 1.3 and the upcoming Lost Coast level of Half-Life 2. We have gone into a greater discussion in regards to the OpenEXR and sRGB during our discussion on the 6800 which can be viewed here. Eye-candy is never free however and HDR is again, computationally expensive. However there are claimed improvements of up to 60% in performance when compared to the 6800 Ultra.
PureVideo
PureVideo seems to be more tightly coupled with the GPU core with the 7800. With the GeForce 6, the video processing engine seemed to be more of bolted on unit as it was introduced as something that ran independently of the GPU unit. WMV Decode acceleration was a touted feature on both the GeForce 6 family as well as the RADEON X line up but due to stalls from Microsoft, this was not yet supported until recently. Other improvements to PureVideo include high-def spatial temporal de-interlacing and will now support 2:2 pulldown for our friends in PAL nations.
In the future, it looks like H.264, better known to us as MPEG4 will also be accelerated by the 7800.