Hi, and thanks for all the work on Spark ✨
I've hit a roadblock with LOD across multiple viewpoints.
Setup
- A scene with several SplatMeshes loaded from .rad files (so LOD + paged).
- Two cameras: one renders to the full canvas, the other to a RenderTarget that's composited into a corner of the main view (picture-in-picture).
To get correct per-viewport sorting, I use one SparkRenderer per camera. The problem: each SparkRenderer drives LOD from its own camera, but they share the same SplatMeshes, so they fight over the shared LOD/paging state and the splats end up clipping and popping.
As a workaround I switched to a single SparkRenderer with enableDriveLod = true, driven by the main camera. That fixes the clipping/popping — but now the second viewport's LOD is computed from the main camera. So if the main camera zooms out, the PiP view becomes very blurry, because its detail level is chosen for the far main camera instead of its own (closer) viewpoint.
Question: is there a way to have multiple cameras contribute to LOD additively — i.e. pick the maximum detail needed across all viewpoints — without one renderer overwriting the other's state?
I noticed setPrefetchCameras() in the source but it appears to be commented out/disabled — is that the intended mechanism for this, and is it expected to return?
Thanks!
Hi, and thanks for all the work on Spark ✨
I've hit a roadblock with LOD across multiple viewpoints.
Setup
To get correct per-viewport sorting, I use one SparkRenderer per camera. The problem: each SparkRenderer drives LOD from its own camera, but they share the same SplatMeshes, so they fight over the shared LOD/paging state and the splats end up clipping and popping.
As a workaround I switched to a single SparkRenderer with enableDriveLod = true, driven by the main camera. That fixes the clipping/popping — but now the second viewport's LOD is computed from the main camera. So if the main camera zooms out, the PiP view becomes very blurry, because its detail level is chosen for the far main camera instead of its own (closer) viewpoint.
Question: is there a way to have multiple cameras contribute to LOD additively — i.e. pick the maximum detail needed across all viewpoints — without one renderer overwriting the other's state?
I noticed setPrefetchCameras() in the source but it appears to be commented out/disabled — is that the intended mechanism for this, and is it expected to return?
Thanks!