getCacheKey( scene, lightsNode ) {

		_chainKeys$2[ 0 ] = scene;
		_chainKeys$2[ 1 ] = lightsNode;

		const callId = this.renderer.info.calls;

		const cacheKeyData = this.callHashCache.get( _chainKeys$2 ) || {};

		if ( cacheKeyData.callId !== callId ) {

			const environmentNode = this.getEnvironmentNode( scene );
			const fogNode = this.getFogNode( scene );

			if ( lightsNode ) _cacheKeyValues.push( lightsNode.getCacheKey( true ) );
			if ( environmentNode ) _cacheKeyValues.push( environmentNode.getCacheKey() );
			if ( fogNode ) _cacheKeyValues.push( fogNode.getCacheKey() );

			_cacheKeyValues.push( this.renderer.getOutputRenderTarget() && this.renderer.getOutputRenderTarget().multiview ? 1 : 0 );
			_cacheKeyValues.push( this.renderer.shadowMap.enabled ? 1 : 0 );

			cacheKeyData.callId = callId;
			cacheKeyData.cacheKey = hashArray( _cacheKeyValues );

			this.callHashCache.set( _chainKeys$2, cacheKeyData );

			_cacheKeyValues.length = 0;

		}

		_chainKeys$2.length = 0;

		return cacheKeyData.cacheKey;

	}
Returns a cache key for the given scene and lights node.
This key is used by `RenderObject` as a part of the dynamic
cache key (a key that must be checked every time the render
objects is drawn).

@param {Scene} scene - The scene.
@param {LightsNode} lightsNode - The lights node.
@return {number} The cache key.