Buckets:
| import { Color } from '../../math/Color.js'; | |
| /** | |
| * Saves the state of the given renderer and stores it into the given state object. | |
| * | |
| * If not state object is provided, the function creates one. | |
| * | |
| * @function | |
| * @param {Renderer} renderer - The renderer. | |
| * @param {Object} [state={}] - The state. | |
| * @return {Object} The state. | |
| */ | |
| export function saveRendererState( renderer, state = {} ) { | |
| state.toneMapping = renderer.toneMapping; | |
| state.toneMappingExposure = renderer.toneMappingExposure; | |
| state.outputColorSpace = renderer.outputColorSpace; | |
| state.renderTarget = renderer.getRenderTarget(); | |
| state.activeCubeFace = renderer.getActiveCubeFace(); | |
| state.activeMipmapLevel = renderer.getActiveMipmapLevel(); | |
| state.renderObjectFunction = renderer.getRenderObjectFunction(); | |
| state.pixelRatio = renderer.getPixelRatio(); | |
| state.mrt = renderer.getMRT(); | |
| state.clearColor = renderer.getClearColor( state.clearColor || new Color() ); | |
| state.clearAlpha = renderer.getClearAlpha(); | |
| state.autoClear = renderer.autoClear; | |
| state.scissorTest = renderer.getScissorTest(); | |
| return state; | |
| } | |
| /** | |
| * Saves the state of the given renderer and stores it into the given state object. | |
| * Besides, the function also resets the state of the renderer to its default values. | |
| * | |
| * If not state object is provided, the function creates one. | |
| * | |
| * @function | |
| * @param {Renderer} renderer - The renderer. | |
| * @param {Object} [state={}] - The state. | |
| * @return {Object} The state. | |
| */ | |
| export function resetRendererState( renderer, state ) { | |
| state = saveRendererState( renderer, state ); | |
| renderer.setMRT( null ); | |
| renderer.setRenderObjectFunction( null ); | |
| renderer.setClearColor( 0x000000, 1 ); | |
| renderer.autoClear = true; | |
| return state; | |
| } | |
| /** | |
| * Restores the state of the given renderer from the given state object. | |
| * | |
| * @function | |
| * @param {Renderer} renderer - The renderer. | |
| * @param {Object} state - The state to restore. | |
| */ | |
| export function restoreRendererState( renderer, state ) { | |
| renderer.toneMapping = state.toneMapping; | |
| renderer.toneMappingExposure = state.toneMappingExposure; | |
| renderer.outputColorSpace = state.outputColorSpace; | |
| renderer.setRenderTarget( state.renderTarget, state.activeCubeFace, state.activeMipmapLevel ); | |
| renderer.setRenderObjectFunction( state.renderObjectFunction ); | |
| renderer.setPixelRatio( state.pixelRatio ); | |
| renderer.setMRT( state.mrt ); | |
| renderer.setClearColor( state.clearColor, state.clearAlpha ); | |
| renderer.autoClear = state.autoClear; | |
| renderer.setScissorTest( state.scissorTest ); | |
| } | |
| /** | |
| * Saves the state of the given scene and stores it into the given state object. | |
| * | |
| * If not state object is provided, the function creates one. | |
| * | |
| * @function | |
| * @param {Scene} scene - The scene. | |
| * @param {Object} [state={}] - The state. | |
| * @return {Object} The state. | |
| */ | |
| export function saveSceneState( scene, state = {} ) { | |
| state.background = scene.background; | |
| state.backgroundNode = scene.backgroundNode; | |
| state.overrideMaterial = scene.overrideMaterial; | |
| return state; | |
| } | |
| /** | |
| * Saves the state of the given scene and stores it into the given state object. | |
| * Besides, the function also resets the state of the scene to its default values. | |
| * | |
| * If not state object is provided, the function creates one. | |
| * | |
| * @function | |
| * @param {Scene} scene - The scene. | |
| * @param {Object} [state={}] - The state. | |
| * @return {Object} The state. | |
| */ | |
| export function resetSceneState( scene, state ) { | |
| state = saveSceneState( scene, state ); | |
| scene.background = null; | |
| scene.backgroundNode = null; | |
| scene.overrideMaterial = null; | |
| return state; | |
| } | |
| /** | |
| * Restores the state of the given scene from the given state object. | |
| * | |
| * @function | |
| * @param {Scene} scene - The scene. | |
| * @param {Object} state - The state to restore. | |
| */ | |
| export function restoreSceneState( scene, state ) { | |
| scene.background = state.background; | |
| scene.backgroundNode = state.backgroundNode; | |
| scene.overrideMaterial = state.overrideMaterial; | |
| } | |
| /** | |
| * Saves the state of the given renderer and scene and stores it into the given state object. | |
| * | |
| * If not state object is provided, the function creates one. | |
| * | |
| * @function | |
| * @param {Renderer} renderer - The renderer. | |
| * @param {Scene} scene - The scene. | |
| * @param {Object} [state={}] - The state. | |
| * @return {Object} The state. | |
| */ | |
| export function saveRendererAndSceneState( renderer, scene, state = {} ) { | |
| state = saveRendererState( renderer, state ); | |
| state = saveSceneState( scene, state ); | |
| return state; | |
| } | |
| /** | |
| * Saves the state of the given renderer and scene and stores it into the given state object. | |
| * Besides, the function also resets the state of the renderer and scene to its default values. | |
| * | |
| * If not state object is provided, the function creates one. | |
| * | |
| * @function | |
| * @param {Renderer} renderer - The renderer. | |
| * @param {Scene} scene - The scene. | |
| * @param {Object} [state={}] - The state. | |
| * @return {Object} The state. | |
| */ | |
| export function resetRendererAndSceneState( renderer, scene, state ) { | |
| state = resetRendererState( renderer, state ); | |
| state = resetSceneState( scene, state ); | |
| return state; | |
| } | |
| /** | |
| * Restores the state of the given renderer and scene from the given state object. | |
| * | |
| * @function | |
| * @param {Renderer} renderer - The renderer. | |
| * @param {Scene} scene - The scene. | |
| * @param {Object} state - The state to restore. | |
| */ | |
| export function restoreRendererAndSceneState( renderer, scene, state ) { | |
| restoreRendererState( renderer, state ); | |
| restoreSceneState( scene, state ); | |
| } | |
Xet Storage Details
- Size:
- 5.49 kB
- Xet hash:
- 0427ab910869a130e1cd22c08b3468c93b41ebf9863df23c4b51d89ab9123c40
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.