Repro: Babylon.js Playground
SPS uses scene.activeCamera on instantiation but using frame graph means scene.activeCamera = null. Error won’t show if SPS is not using billboard = true.
I don’t see a workaround in the docs, guess this is a bug?
Had to ask to be sure, sorry for posting on a Friday…
It’s not a bug per see, some features are not yet supported in frame graphs. This one wasn’t tracked, so I added it to the list:
opened 06:46PM - 14 Oct 25 UTC
frame graph
Here are a number of things to implement/check to ensure that they work as expec… ted with frame graphs.
This list is not ranked in order of importance; some items are more important than others, and some will likely be postponed until a request is made, as they are not a priority (such as a number of rarely used post-processes):
* All renderers:
* [x] bounding box
* [x] depth peeling / OIT
* [x] edges renderer (no changes required)
* [x] outline renderer (no changes required)
* Note that the depth renderer and the geometry buffer renderer are supported through the geometry renderer task
* [ ] geometry renderer task: handles `scene.needsPreviousWorldMatrices` correctly (should be true if any renderer generates the velocity / linear velocity texture)
* [ ] geometry renderer task: allows custom geometry textures
* [ ] make SPS works
* Missing post-processes / rendering pipelines:
* [x] SSAO2
* [x] motion blur
* [x] screen space curvature
* [x] sharpen, convolution, etc.
* [x] provides a way to use a custom post process (see https://forum.babylonjs.com/t/feedback-on-frame-graphs/58672/20 or https://playground.babylonjs.com/#2G7PZ6#10)
* [x] Investigate crash when resizing multiple times the render view (try with https://playground.babylonjs.com/#9YU4C5#12). Only in WebGL => https://issues.chromium.org/issues/442112333
* [x] autoCalcDepthBounds doesn't work with the CSM task
* [x] GPU picker
* [x] Rig cameras
* [x] Layers
* [x] Gizmos
* [x] Shadows
* [x] Clustered lights
* [x] Add support for transmissive objects
* [x] Add support for multi-RTT to the clear texture / object renderer tasks
* [ ] History texture: being able to ping/pong the texture multiple times in the same frame
* [ ] NME with prepass texture block (https://playground.babylonjs.com/#WW65SN#17)
* [x] Custom render target textures => Use the `ObjectRenderer` task and link it to the **dependencies** input of another `ObjectRenderer` if the texture is to be used in the context of this second rendering (in a material, for example).
* [x] TAA: adds a post-process to do it (http://localhost:1338/#2G7PZ6#26)
* [ ] fluid renderer
* [ ] RSM gi
* [ ] IBL shadows
* [x] snapshot rendering mode
* [ ] min/max reducer (to be able to reuse the geometry depth texture)
* [ ] procedural textures
* [ ] splat mesh with the geometry renderer task
* [x] frozen meshes
* screenshots
* [x] simple screenshots (from the rendering canvas)
* [x] RTT screenshots
* [x] performance priority mode
* inspector:
* [x] gizmos
* [x] show wireframe
* [x] show bounding box
* [x] statistics / frame step duration
* [x] statistics / count
* [x] Capture with RTT
* [ ] handle context loss
* [ ] mirror texture
* [x] `Mesh.ignoreCameraMaxZ` => use the new `camera.ignoreCameraMaxZ` property instead
etc.
Thanks for reporting!
2 Likes
Thanks! Tested with v8.49.6, works!
2 Likes