This patch implements the Ghost Glare node. It is implemented using direct convolution as opposed to a recursive one, which produces slightly different results---more accurate ones, however, since the ghosts are attenuated where it matters, the difference is barely visible and is acceptable as far as I can tell. A possible performance improvement is to implement all passes in a single shader dispatch, where an array of all scales and color modulators is computed recursively on the host then used in the shader to add all ghosts, avoiding usage of global memory and unnecessary copies. This optimization will be implemented separately. Differential Revision: https://developer.blender.org/D16641 Reviewed By: Clement Foucault