{
 "measuredOn": "2026-10-13",
 "device": "Apple M4 Pro, macOS, Chrome 153 (one tab, same device for all three columns)",
 "chromium": "Chrome 153 · Apple M4 Pro (Metal)",
 "webglRenderer": "ANGLE (Apple, ANGLE Metal Renderer: Apple M4 Pro, Unspecified Version)",
 "webgpuAdapter": {
  "vendor": "apple",
  "architecture": "metal-3",
  "description": "",
  "isFallbackAdapter": false
 },
 "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36",
 "method": {
  "capture": "instrument.js is loaded before the page scripts. WebGL2: wraps WebGL2RenderingContext (bindFramebuffer, framebufferTexture2D, viewport, clear, drawArrays/drawElements(+Instanced), blitFramebuffer, generateMipmap, shaderSource/attachShader for program names). WebGPU: wraps GPUCommandEncoder.beginRenderPass (colour attachment texture size and label), GPURenderPassEncoder and GPURenderBundleEncoder draws, executeBundles, copyTextureToTexture, and GPUQueue.submit; passes are ordered by submit order (three begins nested passes on separate encoders).",
  "grouping": "A geometry pass = consecutive non-full-screen draws into one render target (WebGL: framebuffer + colour attachment + mip; WebGPU: one render pass). Every full-screen draw (3 vertices, 1 instance) is its own pass. A target cleared and left without a draw is a clear entry. scene = >= half the largest geometry pass of the frame; part = fewer; fullscreen = one triangle.",
  "frame": "Moving camera: deterministic orbit, 60 warm-up frames, then 10 measured frames; the pass list is measured frame 5 (orbit t = 0.5). Every measured frame had the same draw count. Internal size 1920x1080 (CSS 960x540, pixel ratio 2).",
  "frameDriver": "The tab could be hidden, so requestAnimationFrame was replaced by a MessageChannel pump (pump=1 in instrument.js); one pump tick = one harness frame.",
  "pages": "Published copies of bench/a-three.html, b-threepipe.html, c-three-r186-webgl.html and d-three-r186-webgpu.html with one added <script src=\"instrument.js\">; libraries from unpkg (three 0.163.0 / 0.186.1, threepipe 0.5.1, @threepipe/webgi-plugins 0.6.4).",
  "names": "Pass names come from reading the pass/node source in that order and from what the capture shows: WebGL program uniforms and SHADER_NAME, WebGPU texture labels (e.g. SSRNode.SSR) and render pipeline labels (e.g. renderPipeline_GTAO_213). build-json.mjs fails if a name does not match the measured kind and size.",
  "timings": "none: this file counts passes and draws only",
  "crossCheck": "The same pages under headless Chromium 141 + SwiftShader gave the same three-webgl list (366 draws) and the same three-webgpu list (134 draws; final pass into a render target because SwiftShader WebGPU cannot present a canvas there)."
 },
 "fairness": "bench/README.md settings: same camera, venice_sunset_1k.hdr, ACES exposure 1, AO radius 0.05 R, SSR only on metallic, not rough, not glass meshes in three.js, shadows off, opaque alpha ignored, no depth of field.",
 "pipelines": {
  "three-webgl": {
   "version": "three r186 (0.186.1)",
   "renderer": "WebGLRenderer + EffectComposer",
   "page": "bench/c-three-r186-webgl.html",
   "effects": "SSRPass (selective) + GTAOPass (shares SSR depth/normal) + UnrealBloomPass + OutputPass + SMAAPass",
   "passes": [
    {
     "kind": "clear",
     "name": "SSRPass: clear the beauty target (the transmission pre-pass runs before it is drawn)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 0
    },
    {
     "kind": "scene",
     "name": "Transmission pre-pass: opaque meshes into the transmission target (WebGLRenderer, MSAA 4x)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 80,
     "distinctGeometries": 80
    },
    {
     "kind": "blit",
     "name": "Transmission target: MSAA resolve (blitFramebuffer)",
     "size": [
      1920,
      1080
     ]
    },
    {
     "kind": "mipmap",
     "name": "Transmission target: generateMipmap"
    },
    {
     "kind": "part",
     "name": "Transmission pre-pass: back faces of double-sided transmissive meshes",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 5,
     "distinctGeometries": 5
    },
    {
     "kind": "blit",
     "name": "Transmission target: MSAA resolve (blitFramebuffer)",
     "size": [
      1920,
      1080
     ]
    },
    {
     "kind": "mipmap",
     "name": "Transmission target: generateMipmap"
    },
    {
     "kind": "scene",
     "name": "SSRPass beauty: scene colour + depth (replaces RenderPass)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 85,
     "distinctGeometries": 85
    },
    {
     "kind": "scene",
     "name": "SSRPass normals (override material)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 85,
     "distinctGeometries": 85
    },
    {
     "kind": "scene",
     "name": "SSRPass metalness mask (selective SSR: every mesh, selected ones white)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 85,
     "distinctGeometries": 85
    },
    {
     "kind": "fullscreen",
     "name": "SSRPass reflections (per-pixel ray march)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SSRPass blur 1",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SSRPass blur 2",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SSRPass output: copy beauty",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SSRPass output: blend reflections over beauty",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "GTAOPass AO (reuses SSRPass depth + normals)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "GTAOPass Poisson denoise",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "GTAOPass output: copy colour",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "GTAOPass output: multiply AO into colour",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass high-pass (luminosity threshold)",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 0 H",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 0 V",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 1 H",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 1 V",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 2 H",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 2 V",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 3 H",
     "scale": 0.0625,
     "size": [
      120,
      68
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 3 V",
     "scale": 0.0625,
     "size": [
      120,
      68
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 4 H",
     "scale": 0.0313,
     "size": [
      60,
      34
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass blur mip 4 V",
     "scale": 0.0313,
     "size": [
      60,
      34
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass composite (5 mips)",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "UnrealBloomPass: add bloom to colour",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "OutputPass: ACES tonemap + sRGB",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SMAAPass edges",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SMAAPass weights",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "SMAAPass blend -> canvas",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    }
   ],
   "totals": {
    "sceneRenders": 4,
    "partRenders": 1,
    "fullscreenPasses": 26,
    "fullscreenPassesExcludingMipGeneration": 26,
    "mipGenerationPasses": 0,
    "clearOnlyPasses": 1,
    "drawCalls": 366,
    "sceneDrawCalls": 340,
    "fullscreenDrawCalls": 26,
    "fullscreenMpx": 31.45,
    "otherOps": {
     "blit": 2,
     "mipmap": 2
    }
   },
   "movingFrames": {
    "measuredFrames": 10,
    "drawCallsPerFrame": [
     366
    ]
   },
   "still": {
    "camera": "still (orbit t = 0.5), warm-up 30, frame 4 of 5",
    "totals": {
     "sceneRenders": 4,
     "partRenders": 1,
     "fullscreenPasses": 26,
     "fullscreenPassesExcludingMipGeneration": 26,
     "mipGenerationPasses": 0,
     "clearOnlyPasses": 1,
     "drawCalls": 366,
     "sceneDrawCalls": 340,
     "fullscreenDrawCalls": 26,
     "fullscreenMpx": 31.45,
     "otherOps": {
      "blit": 2,
      "mipmap": 2
     }
    },
    "drawCallsPerFrame": [
     366
    ],
    "sameAsMovingFrame": true
   }
  },
  "three-webgpu": {
   "version": "three r186 (0.186.1)",
   "renderer": "WebGPURenderer + RenderPipeline (TSL)",
   "backend": "webgpu",
   "page": "bench/d-three-r186-webgpu.html",
   "effects": "pass() with MRT (output, normal, metalrough) -> ao() GTAONode, ssr() SSRNode, bloom() BloomNode, smaa() SMAANode; tonemap in the RenderPipeline output transform",
   "aa": "smaa(), as in webgpu_postprocessing_ssr.html (r186). webgpu_postprocessing_ao.html uses traa() instead; see variants.",
   "passes": [
    {
     "kind": "scene",
     "name": "Scene pass (MRT: colour, normal, metal/rough; depth): opaque meshes",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 80,
     "distinctGeometries": 80,
     "mrt": 3,
     "targetLabels": [
      "output",
      "normal",
      "metalrough",
      "depth:depth"
     ]
    },
    {
     "kind": "copyTex",
     "name": "Transmission backdrop #1: copy scene colour (copyFramebufferToTexture)",
     "copy": {
      "from": "t23@0 output",
      "to": "t210@0 ",
      "size": [
       1920,
       1080
      ]
     }
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 1 (mipmap render pass)",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 2 (mipmap render pass)",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 3 (mipmap render pass)",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 4 (mipmap render pass)",
     "scale": 0.0625,
     "size": [
      120,
      67
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 5 (mipmap render pass)",
     "scale": 0.0313,
     "size": [
      60,
      33
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 6 (mipmap render pass)",
     "scale": 0.0156,
     "size": [
      30,
      16
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 7 (mipmap render pass)",
     "scale": 0.0078,
     "size": [
      15,
      8
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 8 (mipmap render pass)",
     "scale": 0.0036,
     "size": [
      7,
      4
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 9 (mipmap render pass)",
     "scale": 0.0016,
     "size": [
      3,
      2
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #1: mip 10 (mipmap render pass)",
     "scale": 0.0005,
     "size": [
      1,
      1
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "part",
     "name": "Scene pass: transmissive meshes, back faces (_renderTransparents double pass)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 5,
     "distinctGeometries": 5,
     "mrt": 3,
     "targetLabels": [
      "output",
      "normal",
      "metalrough",
      "depth:depth"
     ]
    },
    {
     "kind": "copyTex",
     "name": "Transmission backdrop #2: copy scene colour",
     "copy": {
      "from": "t23@0 output",
      "to": "t223@0 ",
      "size": [
       1920,
       1080
      ]
     }
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 1 (mipmap render pass)",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 2 (mipmap render pass)",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 3 (mipmap render pass)",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 4 (mipmap render pass)",
     "scale": 0.0625,
     "size": [
      120,
      67
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 5 (mipmap render pass)",
     "scale": 0.0313,
     "size": [
      60,
      33
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 6 (mipmap render pass)",
     "scale": 0.0156,
     "size": [
      30,
      16
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 7 (mipmap render pass)",
     "scale": 0.0078,
     "size": [
      15,
      8
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 8 (mipmap render pass)",
     "scale": 0.0036,
     "size": [
      7,
      4
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 9 (mipmap render pass)",
     "scale": 0.0016,
     "size": [
      3,
      2
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "fullscreen",
     "name": "Transmission backdrop #2: mip 10 (mipmap render pass)",
     "scale": 0.0005,
     "size": [
      1,
      1
     ],
     "draws": 1,
     "targetLabels": [],
     "pipelineLabel": "mipmap-rgba16float-2d-array",
     "renderBundle": true
    },
    {
     "kind": "part",
     "name": "Scene pass: transmissive meshes, front faces",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 5,
     "distinctGeometries": 5,
     "mrt": 3,
     "targetLabels": [
      "output",
      "normal",
      "metalrough",
      "depth:depth"
     ]
    },
    {
     "kind": "fullscreen",
     "name": "SSRNode reflections",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "SSRNode.SSR"
     ],
     "pipelineLabel": "renderPipeline_SSRNode.SSR_214"
    },
    {
     "kind": "fullscreen",
     "name": "SSRNode blur target mip 0 (copy)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "SSRNode.Blur"
     ],
     "pipelineLabel": "renderPipeline_SSRNode.Copy_216"
    },
    {
     "kind": "fullscreen",
     "name": "SSRNode blur mip 1",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [
      "SSRNode.Blur"
     ],
     "pipelineLabel": "renderPipeline_SSRNode.Blur_215"
    },
    {
     "kind": "fullscreen",
     "name": "SSRNode blur mip 2",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1,
     "targetLabels": [
      "SSRNode.Blur"
     ],
     "pipelineLabel": "renderPipeline_SSRNode.Blur_215"
    },
    {
     "kind": "fullscreen",
     "name": "SSRNode blur mip 3",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1,
     "targetLabels": [
      "SSRNode.Blur"
     ],
     "pipelineLabel": "renderPipeline_SSRNode.Blur_215"
    },
    {
     "kind": "fullscreen",
     "name": "SSRNode blur mip 4",
     "scale": 0.0625,
     "size": [
      120,
      67
     ],
     "draws": 1,
     "targetLabels": [
      "SSRNode.Blur"
     ],
     "pipelineLabel": "renderPipeline_SSRNode.Blur_215"
    },
    {
     "kind": "fullscreen",
     "name": "GTAONode AO (no denoise pass; the AO example denoises with TRAA)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "GTAONode.AO"
     ],
     "pipelineLabel": "renderPipeline_GTAO_213"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode high-pass (its input, colour + SSR x AO, is evaluated in this shader)",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.bright"
     ],
     "pipelineLabel": "renderPipeline_Bloom_highPass_221"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 0 H",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.h0"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_222"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 0 V",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.v0"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_222"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 1 H",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.h1"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_223"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 1 V",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.v1"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_223"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 2 H",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.h2"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_224"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 2 V",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.v2"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_224"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 3 H",
     "scale": 0.0625,
     "size": [
      120,
      67
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.h3"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_225"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 3 V",
     "scale": 0.0625,
     "size": [
      120,
      67
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.v3"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_225"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 4 H",
     "scale": 0.0313,
     "size": [
      60,
      33
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.h4"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_226"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode blur mip 4 V",
     "scale": 0.0313,
     "size": [
      60,
      33
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.v4"
     ],
     "pipelineLabel": "renderPipeline_Bloom_separable_226"
    },
    {
     "kind": "fullscreen",
     "name": "BloomNode composite",
     "scale": 0.5,
     "size": [
      960,
      540
     ],
     "draws": 1,
     "targetLabels": [
      "UnrealBloomPass.h0"
     ],
     "pipelineLabel": "renderPipeline_Bloom_comp_227"
    },
    {
     "kind": "fullscreen",
     "name": "RTT: colour + SSR, x AO, + bloom into one texture (smaa() input, convertToTexture)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "depth:"
     ],
     "pipelineLabel": "renderPipeline_RTT_217"
    },
    {
     "kind": "fullscreen",
     "name": "SMAANode edges",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "SMAANode.edges"
     ],
     "pipelineLabel": "renderPipeline_SMAANode.edges_218"
    },
    {
     "kind": "fullscreen",
     "name": "SMAANode weights",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "SMAANode.weights"
     ],
     "pipelineLabel": "renderPipeline_SMAANode.weights_219"
    },
    {
     "kind": "fullscreen",
     "name": "SMAANode blend",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "SMAANode.blend"
     ],
     "pipelineLabel": "renderPipeline_SMAANode.blend_220"
    },
    {
     "kind": "fullscreen",
     "name": "RenderPipeline output: ACES tonemap + sRGB -> canvas",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1,
     "targetLabels": [
      "depth:depthBuffer"
     ],
     "pipelineLabel": "renderPipeline_RenderPipeline_212"
    }
   ],
   "totals": {
    "sceneRenders": 1,
    "partRenders": 2,
    "fullscreenPasses": 44,
    "fullscreenPassesExcludingMipGeneration": 24,
    "mipGenerationPasses": 20,
    "clearOnlyPasses": 0,
    "drawCalls": 134,
    "sceneDrawCalls": 90,
    "fullscreenDrawCalls": 44,
    "fullscreenMpx": 21.08,
    "otherOps": {
     "copyTex": 2
    }
   },
   "movingFrames": {
    "measuredFrames": 10,
    "drawCallsPerFrame": [
     134
    ]
   },
   "still": {
    "camera": "still (orbit t = 0.5), warm-up 30, frame 4 of 5",
    "totals": {
     "sceneRenders": 1,
     "partRenders": 2,
     "fullscreenPasses": 44,
     "fullscreenPassesExcludingMipGeneration": 24,
     "mipGenerationPasses": 20,
     "clearOnlyPasses": 0,
     "drawCalls": 134,
     "sceneDrawCalls": 90,
     "fullscreenDrawCalls": 44,
     "fullscreenMpx": 21.08,
     "otherOps": {
      "copyTex": 2
     }
    },
    "drawCallsPerFrame": [
     134
    ],
    "sameAsMovingFrame": true
   }
  },
  "webgi": {
   "version": "threepipe 0.5.1 + @threepipe/webgi-plugins 0.6.4",
   "renderer": "threepipe ViewerRenderManager (WebGL2, RGBM 8-bit targets)",
   "page": "bench/b-threepipe.html",
   "effects": "GBuffer (z-prepass), SSAO, SSR inline, TAA, progressive, Bloom, tonemap",
   "mode": "progressive frame 0 every frame (setDirty), TAA not jittered on frame 0",
   "passes": [
    {
     "kind": "scene",
     "name": "GBufferPlugin: depth + normal + flags (MRT 2), the z-prepass",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 80,
     "distinctGeometries": 80,
     "mrt": 2
    },
    {
     "kind": "fullscreen",
     "name": "SSAOPlugin (progressive SSAO, full res)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "Main pass: background quad",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "scene",
     "name": "Main pass: opaque meshes (depth from the G-buffer, SSR inline in the material shader, AO applied to indirect light)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 80,
     "distinctGeometries": 80
    },
    {
     "kind": "clear",
     "name": "Main pass: transparent target clear (no transparent meshes in this scene)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 0
    },
    {
     "kind": "mipmap",
     "name": "Transmission source: generateMipmap"
    },
    {
     "kind": "part",
     "name": "Main pass: transmissive meshes into the transparent target",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 5,
     "distinctGeometries": 5
    },
    {
     "kind": "fullscreen",
     "name": "Main pass: blend transparent target over opaque (GenericBlendTexturePass)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "TemporalAAPlugin (TAA resolve with the previous frame)",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "ProgressivePlugin: frame 0, copy into the accumulation target",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin prefilter",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin down 1/4",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin down 1/8",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin down 1/16",
     "scale": 0.0625,
     "size": [
      120,
      67
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin up 1/8",
     "scale": 0.125,
     "size": [
      240,
      135
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin up 1/4",
     "scale": 0.25,
     "size": [
      480,
      270
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin up 1/1",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "BloomPlugin composite",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    },
    {
     "kind": "fullscreen",
     "name": "Screen pass: tonemap (ACES) + sRGB -> canvas",
     "scale": 1,
     "size": [
      1920,
      1080
     ],
     "draws": 1
    }
   ],
   "totals": {
    "sceneRenders": 2,
    "partRenders": 1,
    "fullscreenPasses": 14,
    "fullscreenPassesExcludingMipGeneration": 14,
    "mipGenerationPasses": 0,
    "clearOnlyPasses": 1,
    "drawCalls": 179,
    "sceneDrawCalls": 165,
    "fullscreenDrawCalls": 14,
    "fullscreenMpx": 18.99,
    "otherOps": {
     "mipmap": 1
    }
   },
   "movingFrames": {
    "measuredFrames": 10,
    "drawCallsPerFrame": [
     179
    ]
   },
   "still": {
    "camera": "still (orbit t = 0.5), b-threepipe.html?converge=1: the camera is set once and nothing calls setDirty",
    "framesToConverge": 32,
    "maxFrameCount": 32,
    "renderedFramesAfterTheCameraStops": 32,
    "drawCallsPerFrame": [
     179,
     180,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179,
     179
    ],
    "drawsPerRefineFrame": 179,
    "drawsFrame0": 179,
    "drawsFrame1": 180,
    "totalDrawCallsToConverge": 5729,
    "afterConvergence": "no GPU work: the viewer stops rendering (frames with no draws until the run ends)",
    "frameCountsPerHarnessFrame": [
     1,
     1,
     2,
     3,
     4,
     5,
     6,
     7,
     8,
     9,
     10,
     11,
     12,
     13,
     14,
     15,
     16,
     17,
     18,
     19,
     20,
     21,
     22,
     23,
     24,
     25,
     26,
     27,
     28,
     29,
     30,
     31,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32,
     32
    ],
    "refineFramePasses": [
     {
      "kind": "scene",
      "name": "GBufferPlugin: depth + normal + flags (MRT 2), the z-prepass",
      "scale": 1,
      "draws": 80
     },
     {
      "kind": "fullscreen",
      "name": "SSAOPlugin (progressive SSAO, full res)",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "Main pass: background quad",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "scene",
      "name": "Main pass: opaque meshes (depth from the G-buffer, SSR inline in the material shader, AO applied to indirect light)",
      "scale": 1,
      "draws": 80
     },
     {
      "kind": "clear",
      "name": "Main pass: transparent target clear (no transparent meshes in this scene)",
      "scale": 1,
      "draws": 0
     },
     {
      "kind": "mipmap",
      "name": "Transmission source: generateMipmap"
     },
     {
      "kind": "part",
      "name": "Main pass: transmissive meshes into the transparent target",
      "scale": 1,
      "draws": 5
     },
     {
      "kind": "fullscreen",
      "name": "Main pass: blend transparent target over opaque (GenericBlendTexturePass)",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "ProgressivePlugin: blend this frame into the accumulation (weights 1/n)",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "ProgressivePlugin: copy the blend into the accumulation target",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin prefilter",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin down 1/4",
      "scale": 0.25,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin down 1/8",
      "scale": 0.125,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin down 1/16",
      "scale": 0.0625,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin up 1/8",
      "scale": 0.125,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin up 1/4",
      "scale": 0.25,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin up 1/1",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "BloomPlugin composite",
      "scale": 1,
      "draws": 1
     },
     {
      "kind": "fullscreen",
      "name": "Screen pass: tonemap (ACES) + sRGB -> canvas",
      "scale": 1,
      "draws": 1
     }
    ],
    "refineFrameNote": "Frames 2..31: TemporalAAPlugin does not run; the progressive blend replaces it. Frame 1 runs TAA and the blend (180 draws).",
    "note": "Every refine frame runs the whole pipeline again (G-buffer, SSAO, main pass, progressive blend, bloom, screen) and accumulates it. Frame 1 has one extra full-screen draw (180)."
   }
  }
 },
 "variants": {
  "three-webgl-r163": {
   "version": "three r163 (bench/a-three.html)",
   "totals": {
    "sceneRenders": 4,
    "partRenders": 1,
    "fullscreenPasses": 26,
    "fullscreenPassesExcludingMipGeneration": 26,
    "mipGenerationPasses": 0,
    "clearOnlyPasses": 2,
    "drawCalls": 366,
    "sceneDrawCalls": 340,
    "fullscreenDrawCalls": 26,
    "fullscreenMpx": 31.45,
    "otherOps": {
     "blit": 2,
     "mipmap": 2
    }
   },
   "note": "same pass list as r186 except one extra clear-only entry of the SSR beauty target"
  },
  "three-webgpu-traa": {
   "query": "aa=traa",
   "note": "AA of webgpu_postprocessing_ao.html: velocity MRT, GTAO at half res with temporal filtering, traa() replaces smaa()",
   "totals": {
    "sceneRenders": 1,
    "partRenders": 2,
    "fullscreenPasses": 42,
    "fullscreenPassesExcludingMipGeneration": 22,
    "mipGenerationPasses": 20,
    "clearOnlyPasses": 0,
    "drawCalls": 132,
    "sceneDrawCalls": 90,
    "fullscreenDrawCalls": 42,
    "fullscreenMpx": 15.37,
    "otherOps": {
     "copyTex": 4
    }
   },
   "passes": [
    {
     "kind": "scene",
     "scale": 1,
     "draws": 80,
     "label": "output,normal,metalrough,velocity,depth:depth"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0156,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0078,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0036,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0016,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0005,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "part",
     "scale": 1,
     "draws": 5,
     "label": "output,normal,metalrough,velocity,depth:depth"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0156,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0078,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0036,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0016,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0005,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "part",
     "scale": 1,
     "draws": 5,
     "label": "output,normal,metalrough,velocity,depth:depth"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "SSRNode.SSR"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "GTAONode.AO"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.bright"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.h0"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.v0"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "UnrealBloomPass.h1"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "UnrealBloomPass.v1"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "UnrealBloomPass.h2"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "UnrealBloomPass.v2"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "UnrealBloomPass.h3"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "UnrealBloomPass.v3"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "UnrealBloomPass.h4"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "UnrealBloomPass.v4"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.h0"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "depth:"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "TRAANode.resolve"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "depth:depthBuffer"
    }
   ]
  },
  "three-webgpu-ao-prepass": {
   "query": "aa=traa&ao=pre",
   "note": "full structure of webgpu_postprocessing_ao.html: a normal/depth/velocity pre-pass, GTAO fed to the ambient term (builtinAOContext), then the colour pass",
   "totals": {
    "sceneRenders": 2,
    "partRenders": 2,
    "fullscreenPasses": 42,
    "fullscreenPassesExcludingMipGeneration": 22,
    "mipGenerationPasses": 20,
    "clearOnlyPasses": 0,
    "drawCalls": 212,
    "sceneDrawCalls": 170,
    "fullscreenDrawCalls": 42,
    "fullscreenMpx": 15.37,
    "otherOps": {
     "copyTex": 4
    }
   },
   "passes": [
    {
     "kind": "scene",
     "scale": 1,
     "draws": 80,
     "label": "output,metalrough,velocity,depth:depth"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "GTAONode.AO"
    },
    {
     "kind": "scene",
     "scale": 1,
     "draws": 80,
     "label": "output,depth:depth"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0156,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0078,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0036,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0016,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0005,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "part",
     "scale": 1,
     "draws": 5,
     "label": "output,depth:depth"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0156,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0078,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0036,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0016,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0005,
     "draws": 1,
     "label": "mipmap-rgba16float-2d-array"
    },
    {
     "kind": "part",
     "scale": 1,
     "draws": 5,
     "label": "output,depth:depth"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "SSRNode.SSR"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "SSRNode.Blur"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.bright"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.h0"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.v0"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "UnrealBloomPass.h1"
    },
    {
     "kind": "fullscreen",
     "scale": 0.25,
     "draws": 1,
     "label": "UnrealBloomPass.v1"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "UnrealBloomPass.h2"
    },
    {
     "kind": "fullscreen",
     "scale": 0.125,
     "draws": 1,
     "label": "UnrealBloomPass.v2"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "UnrealBloomPass.h3"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0625,
     "draws": 1,
     "label": "UnrealBloomPass.v3"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "UnrealBloomPass.h4"
    },
    {
     "kind": "fullscreen",
     "scale": 0.0313,
     "draws": 1,
     "label": "UnrealBloomPass.v4"
    },
    {
     "kind": "fullscreen",
     "scale": 0.5,
     "draws": 1,
     "label": "UnrealBloomPass.h0"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "depth:"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "TRAANode.resolve"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "copyTex"
    },
    {
     "kind": "fullscreen",
     "scale": 1,
     "draws": 1,
     "label": "depth:depthBuffer"
    }
   ]
  }
 }
}
