bare hardware to support HDR rendering

tcchiu

Newcomer
true HDR requries FP everywhere, but what's the bare hardware to render HDR images? suppose the speed (fps) is important.

* fp16 (at least) shader arithmetic

* fp16 render target - defintely necessary

* alpha blending fp render targets - not necessary? ping-pong between render targets can do

* fp16 texture

* fp16 texture bilinear filtering - nearest filter (point sample) is enough? when the driver (compiler) detects a texld from the fp16 sampler, it can insert additional instructions to bilinearly filter the results (it will be very slow, i know).
 
tcchiu said:
* alpha blending fp render targets - not necessary? ping-pong between render targets can do
Its not really a realistic option if you have a particle system as you can have thousands of overlapping triangles and doing several thosand ping-pongs would be worse then software rendering.
* fp16 texture bilinear filtering - nearest filter (point sample) is enough? when the driver (compiler) detects a texld from the fp16 sampler, it can insert additional instructions to bilinearly filter the results (it will be very slow, i know).
Probably could emulate fairly easily using pixel shaders.

http://www.ict.usc.edu/~tchou/panopan/ the tone mapping is probably done on cpu it could be done on any PS2+ hardware which supports FP textures.
 
tcchiu said:
true HDR requries FP everywhere, but what's the bare hardware to render HDR images? suppose the speed (fps) is important.

* fp16 (at least) shader arithmetic

* fp16 render target - defintely necessary

* alpha blending fp render targets - not necessary? ping-pong between render targets can do
The moment you try to support HDR rendering without blending is the moment you must introduce special cases for it to work both properly and quickly.

Some simple examples that would work very poorly with ping-ponging are particle effects (as bloodbob mentioned), and alpha-blended foliage (which seems quite popular these days). It seems to me that it would be very challenging indeed to make these effects both run at decent speed and look good with HDR rendering enabled.

This is why FP16 blending is so good: it makes HDR rendering not only very easy to implement, but also look and perform better than implementations that do not make use of FP blending.

* fp16 texture bilinear filtering - nearest filter (point sample) is enough? when the driver (compiler) detects a texld from the fp16 sampler, it can insert additional instructions to bilinearly filter the results (it will be very slow, i know).
Yes, basically. But it's going to be a fair bit faster with hardware support for bilinear filtering.
 
Back
Top