Based on a patch by Sylvio Sell, OSL port by myself. Task and example renders: https://developer.blender.org/T32305