I've put together a post-processing depth-of-field demo that shows an algorithm I've developed which uses recursive filters (IIRs) to perform the blurring. This has great performance advantages as the required complexity is unaffected by the size of the blur/CoC and it is always smooth.
The demo runs in software, but the algorithms used are parallel by nature (the demo supports SMP) and should be possible to implement in graphics hardware which expose scattered writes on shaders with great performance. Not only does the demo handle the case where an object in focus have sharp edges against a blurry background but it handles the case of a blurry object in front of a focused backgroud as well.
It's on top of this page, check it out:
http://www.vemberaudio.se/showoff/
- claes
The demo runs in software, but the algorithms used are parallel by nature (the demo supports SMP) and should be possible to implement in graphics hardware which expose scattered writes on shaders with great performance. Not only does the demo handle the case where an object in focus have sharp edges against a blurry background but it handles the case of a blurry object in front of a focused backgroud as well.
It's on top of this page, check it out:
http://www.vemberaudio.se/showoff/
- claes