GeForceFX: NVIDIA goes Hollywood?

Flow Control

Flow control in pixel and vertex shader programs allows early termination of a shader, for example, when the desired result has already been attained and additional rendering steps are unnecessary. Subroutines can also be utilized and effects can be grouped into categories or implemented recursively through branching.

High-Precision Color

Besides supporting eight-bit color depth per channel, the GeForceFX also offers 16 bit and 32 bit (floating point) modes. This lets the FX's pixel shaders process calculations with 128 bits for best quality, or with 64 bits when performance is needed. Developers can also use both modes in conjunction, allowing for a great degree of flexibility. Although ATi's R300 also supports 128 bits, these are really only 24 bits per color channel - in effect 96 bits that are expanded to 128 bits when written to the frame buffer. With the new 128 bit floating point colors, a precision heretofore only known from ray-tracing programs is brought to the desktop. Once again, this is a huge step towards photo-realism.

We've already covered the possible usages and possibilities of floating point color in depth here .

Here are some examples:

Lights rendered with high dynamic range.

Overdark and overlight without FP precision.