Texture Definitions for MPSSVGF Denoise

I am trying to use the SVGF denoiser to denoise my ray traced shadows (and also other textures later). I do get a smoothed image, but with wonky denoising.

I need the depth-normal textures and motion textures for the SVGF and assume that these are badly filled in my case. However, neither in the above linked documentation nor in the WWDC19 video I find how they should be defined. I am looking to answers to:

  • Is depth in red or alpha channel for the depth-normal texture?
  • Are the normals in screen space?
  • Is depth linear?
  • Is it distance or z coordinate in view space? Or even logarithmically scaled or something else?
  • Are the motion vectors supposed to be in pixels per frame?
  • What is the orientation of the axis? Is y up or down?
  • Are there are other restrictions on the formats?

Also the linked code did not help me (I have not found any SVGF so far; also all the code is in Objective-C++, not Swift, but that's a different topic).

So how should I fill these textures. Can someone point me to the documentation where these kinds of questions are answered?

Texture Definitions for MPSSVGF Denoise
 
 
Q