Download node_modules/three/src/renderers/webgl/WebGLCubeMaps.js from SimWorld-AI/industrial-harbor-viewer: direct link, hf CLI and curl.
- Browser
- Download file 1.91 kB
-
https://huggingface.co/spaces/SimWorld-AI/industrial-harbor-viewer/resolve/main/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js
- Command line
-
hf download hf://spaces/SimWorld-AI/industrial-harbor-viewer/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js
-
curl -L -o WebGLCubeMaps.js https://huggingface.co/spaces/SimWorld-AI/industrial-harbor-viewer/resolve/main/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js
1.91 kB
| import { CubeReflectionMapping, CubeRefractionMapping, EquirectangularReflectionMapping, EquirectangularRefractionMapping } from '../../constants.js'; | |
| import { WebGLCubeRenderTarget } from '../WebGLCubeRenderTarget.js'; | |
| function WebGLCubeMaps( renderer ) { | |
| let cubemaps = new WeakMap(); | |
| function mapTextureMapping( texture, mapping ) { | |
| if ( mapping === EquirectangularReflectionMapping ) { | |
| texture.mapping = CubeReflectionMapping; | |
| } else if ( mapping === EquirectangularRefractionMapping ) { | |
| texture.mapping = CubeRefractionMapping; | |
| } | |
| return texture; | |
| } | |
| function get( texture ) { | |
| if ( texture && texture.isTexture ) { | |
| const mapping = texture.mapping; | |
| if ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping ) { | |
| if ( cubemaps.has( texture ) ) { | |
| const cubemap = cubemaps.get( texture ).texture; | |
| return mapTextureMapping( cubemap, texture.mapping ); | |
| } else { | |
| const image = texture.image; | |
| if ( image && image.height > 0 ) { | |
| const renderTarget = new WebGLCubeRenderTarget( image.height / 2 ); | |
| renderTarget.fromEquirectangularTexture( renderer, texture ); | |
| cubemaps.set( texture, renderTarget ); | |
| texture.addEventListener( 'dispose', onTextureDispose ); | |
| return mapTextureMapping( renderTarget.texture, texture.mapping ); | |
| } else { | |
| // image not yet ready. try the conversion next frame | |
| return null; | |
| } | |
| } | |
| } | |
| } | |
| return texture; | |
| } | |
| function onTextureDispose( event ) { | |
| const texture = event.target; | |
| texture.removeEventListener( 'dispose', onTextureDispose ); | |
| const cubemap = cubemaps.get( texture ); | |
| if ( cubemap !== undefined ) { | |
| cubemaps.delete( texture ); | |
| cubemap.dispose(); | |
| } | |
| } | |
| function dispose() { | |
| cubemaps = new WeakMap(); | |
| } | |
| return { | |
| get: get, | |
| dispose: dispose | |
| }; | |
| } | |
| export { WebGLCubeMaps }; | |