Debug render buffers

From PopcornFX
Jump to: navigation, search

The HH-Fx editor uses deffered rendering to render the scenes (a light-prepass model). It can sometimes be useful to visualize the intermediate rendering buffers, for example, it can help if you imported a backdrop in the editor, and something is not rendered as expected. It can also be useful to visualize light particles more clearly, by jumping to the 'Light splatting' view.


By default, 'Full render' is displayed. that's the final rendering result, with post-effects.
you can cycle through the debug buffers views by pressing the [F4] key (cycles forwards), or [Shift]+[F4] keys (cycles backwards)
There is a total of 10 debug render views, including the full render:

Render buffers views

Deffered normal buffer (geometric + normalmaps)
Deffered normal buffer
geometric + normalmaps
Roughness (specular)
Roughness (specular)
Packed raw Normals & BRDF (normal reflectance factor + roughness)
Packed raw Normals & BRDF
(normal reflectance factor + roughness)
Unpacked linear depth
Unpacked linear depth
Packed raw RGBA8 depth
Packed raw RGBA8 depth
Light splatting
Light splatting
Useful to see light particles
Irradiance (incoming light)
Irradiance (incoming light)
Specular buffer
Specular buffer
Distortion & Blur used for depth of field / heat distortions
Distortion & Blur
used for depth of field / heat distortions
Full rendering, combining all the render buffers
Full rendering (default view), combining all the render buffers above


Physical render buffers

Internally, the renderer doesn't use as many render buffers, it only uses between 4 and 5 render buffers (more depending on which post-effects are activated).

Some render buffer views aren't directly displaying a physical render buffer. For example, normals and roughness are actually packed into the same rendertarget (which is displayed in the 'Normals & BRDF (Raw)' view), but to help better visualization of each element, the editor will unpack the normals, and display them as x,y,z pairs, and display the roughness in grayscale in another view.


Here is a list of the real physical render buffers, and how they are mapped to the debug views:


Internal buffer name Formats Components / range Debug views mapping
Deffered pass
SceneDepth
SceneDepth
BGRA8 or Lum32F [0, +inf[
  • Linear Depth (raw) (real view)
  • Linear Depth
SceneNormals
SceneNormals
BGRA8 or RGBA16F
  • R : spheremap(N).x [-1, 1]
  • G : spheremap(N).y [-1, 1]
  • B : BRDF_NRefl [0, 1]
  • A : BRDF_Rough [0, 1]
  • Normals (spheremapped normals unpacked as X,Y,Z values in RGB)
  • Roughness
  • Normals & BRDF (Raw)
Lighting pass
SceneIrradiance
SceneIrradiance
BGRA8 or RGBA16F
  • R : irradiance.R [0,+inf[
  • G : irradiance.G [0,+inf[
  • B : irradiance.B [0,+inf[
  • A : specularIntensity [0,+inf[
  • Irradiance
  • Specular (alpha displayed as grayscale RGB)
Final render combine pass
MainColor
MainColor
BGRA8 or RGBA16F
  • R : Color.R [0,+inf[
  • G : Color.G [0,+inf[
  • B : Color.B [0,+inf[
  • A : Color.A [0, 1]
  • Full Render
ScreenspaceBlurVector
ScreenspaceBlurVector
BGRA8 or RGBA16F
  • R : ScreenspaceDistort.x ]-inf, +inf[
  • G : ScreenspaceDistort.y ]-inf, +inf[
  • B : Blur radius [0, inf]
  • A : unused
  • Distortion and Blur