@@ -40,48 +40,6 @@ import {
4040// of 5 to avoid excessive memory usage.
4141const MAX_ACCUMULATORS = 5 ;
4242
43- // Scene.onBeforeRender monkey-patch to
44- // inject a SparkRenderer into a scene with SplatMeshes if there isn't
45- // one already. Restore original Scene.onBeforeRenderer and Scene.add when done.
46- let hasSplatMesh = false ;
47- let hasSparkRenderer = false ;
48-
49- let sparkRendererInstance : SparkRenderer ;
50-
51- function containsSplatMesh ( object3D : THREE . Object3D ) {
52- let hasSplatMesh = false ;
53- if ( object3D instanceof SplatMesh ) {
54- return true ;
55- }
56- object3D . traverse ( ( child : THREE . Object3D ) => {
57- hasSplatMesh = hasSplatMesh || child instanceof SplatMesh ;
58- } ) ;
59- return hasSplatMesh ;
60- }
61-
62- const sceneAdd = THREE . Scene . prototype . add ;
63- THREE . Scene . prototype . add = function ( object : THREE . Object3D ) {
64- hasSplatMesh = hasSplatMesh || containsSplatMesh ( object ) ;
65- hasSparkRenderer = hasSparkRenderer || object instanceof SparkRenderer ;
66- sceneAdd . call ( this , object ) ;
67- return this ;
68- } ;
69-
70- const sceneOnBeforeRender = THREE . Scene . prototype . onBeforeRender ;
71- THREE . Scene . prototype . onBeforeRender = function (
72- renderer : THREE . WebGLRenderer ,
73- ) {
74- if ( ! hasSplatMesh ) {
75- return ;
76- }
77- if ( ! hasSparkRenderer ) {
78- const spark = sparkRendererInstance || new SparkRenderer ( { renderer } ) ;
79- this . add ( spark ) ;
80- }
81- THREE . Scene . prototype . onBeforeRender = sceneOnBeforeRender ;
82- THREE . Scene . prototype . add = sceneAdd ;
83- } ;
84-
8543export type SparkRendererOptions = {
8644 /**
8745 * Pass in your THREE.WebGLRenderer instance so Spark can perform work
@@ -367,8 +325,6 @@ export class SparkRenderer extends THREE.Mesh {
367325 this . prepareViewpoint ( this . viewpoint ) ;
368326
369327 this . clock = options . clock ? cloneClock ( options . clock ) : new THREE . Clock ( ) ;
370-
371- sparkRendererInstance = this ;
372328 }
373329
374330 static makeUniforms ( ) {
0 commit comments