From 43820d20f3e5eb52bd8a9b44b8ba7fdf0758bfd7 Mon Sep 17 00:00:00 2001 From: Mugen87 Date: Fri, 27 Sep 2024 11:15:00 +0200 Subject: [PATCH 1/5] Global: Move some WebGPU modules from core to addons. --- .../jsm/tsl}/display/AfterImageNode.js | 16 ++----------- .../jsm/tsl}/display/AnaglyphPassNode.js | 8 ++----- .../jsm/tsl}/display/AnamorphicNode.js | 16 ++----------- .../jsm/tsl}/display/BleachBypass.js | 4 +--- .../jsm/tsl}/display/BloomNode.js | 21 ++--------------- .../jsm/tsl}/display/DenoiseNode.js | 16 ++----------- .../jsm/tsl}/display/DepthOfFieldNode.js | 8 +------ .../jsm/tsl}/display/DotScreenNode.js | 11 ++------- .../jsm/tsl}/display/FXAANode.js | 13 ++--------- .../jsm/tsl}/display/FilmNode.js | 6 +---- .../jsm/tsl}/display/GTAONode.js | 22 ++---------------- .../jsm/tsl}/display/GaussianBlurNode.js | 15 ++---------- .../jsm/tsl}/display/Lut3DNode.js | 5 +--- .../jsm/tsl}/display/MotionBlur.js | 5 ++-- .../tsl}/display/ParallaxBarrierPassNode.js | 6 +---- .../jsm/tsl}/display/PixelationPassNode.js | 16 ++----------- .../jsm/tsl}/display/RGBShiftNode.js | 7 +----- .../jsm/tsl}/display/SSAAPassNode.js | 12 ++-------- .../jsm/tsl}/display/Sepia.js | 3 +-- .../jsm/tsl}/display/SobelOperatorNode.js | 12 ++-------- .../tsl}/display/StereoCompositePassNode.js | 10 ++------ .../jsm/tsl}/display/StereoPassNode.js | 6 ++--- .../jsm/tsl}/display/TransitionNode.js | 7 +----- examples/misc_controls_fly.html | 3 ++- examples/webgpu_display_stereo.html | 4 +++- examples/webgpu_postprocessing.html | 4 +++- examples/webgpu_postprocessing_3dlut.html | 3 ++- .../webgpu_postprocessing_afterimage.html | 3 ++- .../webgpu_postprocessing_anamorphic.html | 3 ++- examples/webgpu_postprocessing_ao.html | 4 +++- examples/webgpu_postprocessing_bloom.html | 3 ++- .../webgpu_postprocessing_bloom_emissive.html | 3 ++- ...webgpu_postprocessing_bloom_selective.html | 3 ++- examples/webgpu_postprocessing_dof.html | 3 ++- examples/webgpu_postprocessing_fxaa.html | 3 ++- .../webgpu_postprocessing_motion_blur.html | 3 ++- examples/webgpu_postprocessing_pixel.html | 3 ++- examples/webgpu_postprocessing_sobel.html | 3 ++- examples/webgpu_postprocessing_ssaa.html | 2 +- .../webgpu_postprocessing_transition.html | 3 ++- src/nodes/Nodes.js | 19 --------------- src/nodes/TSL.js | 23 ------------------- 42 files changed, 74 insertions(+), 266 deletions(-) rename {src/nodes => examples/jsm/tsl}/display/AfterImageNode.js (80%) rename {src/nodes => examples/jsm/tsl}/display/AnaglyphPassNode.js (82%) rename {src/nodes => examples/jsm/tsl}/display/AnamorphicNode.js (80%) rename {src/nodes => examples/jsm/tsl}/display/BleachBypass.js (78%) rename {src/nodes => examples/jsm/tsl}/display/BloomNode.js (90%) rename {src/nodes => examples/jsm/tsl}/display/DenoiseNode.js (87%) rename {src/nodes => examples/jsm/tsl}/display/DepthOfFieldNode.js (94%) rename {src/nodes => examples/jsm/tsl}/display/DotScreenNode.js (74%) rename {src/nodes => examples/jsm/tsl}/display/FXAANode.js (94%) rename {src/nodes => examples/jsm/tsl}/display/FilmNode.js (75%) rename {src/nodes => examples/jsm/tsl}/display/GTAONode.js (89%) rename {src/nodes => examples/jsm/tsl}/display/GaussianBlurNode.js (87%) rename {src/nodes => examples/jsm/tsl}/display/Lut3DNode.js (84%) rename {src/nodes => examples/jsm/tsl}/display/MotionBlur.js (80%) rename {src/nodes => examples/jsm/tsl}/display/ParallaxBarrierPassNode.js (79%) rename {src/nodes => examples/jsm/tsl}/display/PixelationPassNode.js (88%) rename {src/nodes => examples/jsm/tsl}/display/RGBShiftNode.js (75%) rename {src/nodes => examples/jsm/tsl}/display/SSAAPassNode.js (92%) rename {src/nodes => examples/jsm/tsl}/display/Sepia.js (77%) rename {src/nodes => examples/jsm/tsl}/display/SobelOperatorNode.js (86%) rename {src/nodes => examples/jsm/tsl}/display/StereoCompositePassNode.js (84%) rename {src/nodes => examples/jsm/tsl}/display/StereoPassNode.js (90%) rename {src/nodes => examples/jsm/tsl}/display/TransitionNode.js (85%) diff --git a/src/nodes/display/AfterImageNode.js b/examples/jsm/tsl/display/AfterImageNode.js similarity index 80% rename from src/nodes/display/AfterImageNode.js rename to examples/jsm/tsl/display/AfterImageNode.js index ee48ecef0dbbe8..969d828f2e848c 100644 --- a/src/nodes/display/AfterImageNode.js +++ b/examples/jsm/tsl/display/AfterImageNode.js @@ -1,17 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { nodeObject, Fn, float, vec4 } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uv } from '../accessors/UV.js'; -import { texture } from '../accessors/TextureNode.js'; -import { passTexture } from './PassNode.js'; -import { uniform } from '../core/UniformNode.js'; -import { sign, max } from '../math/MathNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; - -import { Vector2 } from '../../math/Vector2.js'; -import { RenderTarget } from '../../core/RenderTarget.js'; +import { RenderTarget, Vector2 } from 'three'; +import { TempNode, nodeObject, Fn, float, vec4, NodeUpdateType, uv, texture, passTexture, uniform, sign, max, convertToTexture, QuadMesh, NodeMaterial } from 'three/tsl'; const _size = /*@__PURE__*/ new Vector2(); diff --git a/src/nodes/display/AnaglyphPassNode.js b/examples/jsm/tsl/display/AnaglyphPassNode.js similarity index 82% rename from src/nodes/display/AnaglyphPassNode.js rename to examples/jsm/tsl/display/AnaglyphPassNode.js index e42f90a8e552fa..3c9df59d4f02f2 100644 --- a/src/nodes/display/AnaglyphPassNode.js +++ b/examples/jsm/tsl/display/AnaglyphPassNode.js @@ -1,10 +1,6 @@ -import { Fn, nodeObject, vec4 } from '../tsl/TSLBase.js'; -import { Matrix3 } from '../../math/Matrix3.js'; -import { uniform } from '../core/UniformNode.js'; -import { uv } from '../accessors/UV.js'; -import { clamp, max } from '../math/MathNode.js'; +import { Matrix3 } from 'three'; +import { clamp, nodeObject, Fn, vec4, uv, uniform, max, NodeMaterial } from 'three/tsl'; import StereoCompositePassNode from './StereoCompositePassNode.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; class AnaglyphPassNode extends StereoCompositePassNode { diff --git a/src/nodes/display/AnamorphicNode.js b/examples/jsm/tsl/display/AnamorphicNode.js similarity index 80% rename from src/nodes/display/AnamorphicNode.js rename to examples/jsm/tsl/display/AnamorphicNode.js index 68102768847561..12d9740aee06f2 100644 --- a/src/nodes/display/AnamorphicNode.js +++ b/examples/jsm/tsl/display/AnamorphicNode.js @@ -1,17 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { nodeObject, Fn, float, vec2, vec3 } from '../tsl/TSLBase.js'; -import { Loop } from '../utils/LoopNode.js'; -import { uniform } from '../core/UniformNode.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { threshold } from './ColorAdjustment.js'; -import { uv } from '../accessors/UV.js'; -import { passTexture } from './PassNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; - -import { Vector2 } from '../../math/Vector2.js'; -import { RenderTarget } from '../../core/RenderTarget.js'; +import { RenderTarget, Vector2 } from 'three'; +import { TempNode, nodeObject, Fn, float, NodeUpdateType, uv, passTexture, uniform, convertToTexture, QuadMesh, NodeMaterial, vec2, vec3, Loop, threshold } from 'three/tsl'; const _quadMesh = /*@__PURE__*/ new QuadMesh(); diff --git a/src/nodes/display/BleachBypass.js b/examples/jsm/tsl/display/BleachBypass.js similarity index 78% rename from src/nodes/display/BleachBypass.js rename to examples/jsm/tsl/display/BleachBypass.js index adf90d1ca3679f..d3f94eaab09527 100644 --- a/src/nodes/display/BleachBypass.js +++ b/examples/jsm/tsl/display/BleachBypass.js @@ -1,6 +1,4 @@ -import { float, Fn, vec3, vec4 } from '../tsl/TSLBase.js'; -import { min, max, mix } from '../math/MathNode.js'; -import { luminance } from './ColorAdjustment.js'; +import { float, Fn, vec3, vec4, min, max, mix, luminance } from 'three/tsl'; export const bleach = /*@__PURE__*/ Fn( ( [ color, opacity = 1 ] ) => { diff --git a/src/nodes/display/BloomNode.js b/examples/jsm/tsl/display/BloomNode.js similarity index 90% rename from src/nodes/display/BloomNode.js rename to examples/jsm/tsl/display/BloomNode.js index 3793a1af269e2b..0ece7b4f6bbf1e 100644 --- a/src/nodes/display/BloomNode.js +++ b/examples/jsm/tsl/display/BloomNode.js @@ -1,22 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { Fn, nodeObject, float, vec4, int } from '../tsl/TSLBase.js'; -import { mix, smoothstep } from '../math/MathNode.js'; -import { luminance } from './ColorAdjustment.js'; -import { uniform } from '../core/UniformNode.js'; -import { uniformArray } from '../accessors/UniformArrayNode.js'; -import { uv } from '../accessors/UV.js'; -import { Color } from '../../math/Color.js'; -import { passTexture } from './PassNode.js'; -import { RenderTarget } from '../../core/RenderTarget.js'; -import { HalfFloatType } from '../../constants.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { Vector2 } from '../../math/Vector2.js'; -import { Loop } from '../utils/LoopNode.js'; -import { add } from '../math/OperatorNode.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; -import { texture } from '../accessors/TextureNode.js'; -import { Vector3 } from '../../math/Vector3.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; +import { Color, HalfFloatType, RenderTarget, Vector2, Vector3 } from 'three'; +import { TempNode, nodeObject, Fn, float, NodeUpdateType, uv, passTexture, uniform, QuadMesh, NodeMaterial, Loop, texture, luminance, smoothstep, mix, vec4, uniformArray, add, int } from 'three/tsl'; const _quadMesh = /*@__PURE__*/ new QuadMesh(); diff --git a/src/nodes/display/DenoiseNode.js b/examples/jsm/tsl/display/DenoiseNode.js similarity index 87% rename from src/nodes/display/DenoiseNode.js rename to examples/jsm/tsl/display/DenoiseNode.js index ca84b93917baf9..44304b791f9238 100644 --- a/src/nodes/display/DenoiseNode.js +++ b/examples/jsm/tsl/display/DenoiseNode.js @@ -1,17 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { Fn, nodeObject, float, int, vec2, vec3, vec4, mat2, If } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uniform } from '../core/UniformNode.js'; -import { uniformArray } from '../accessors/UniformArrayNode.js'; -import { abs, dot, sin, cos, PI, pow, max } from '../math/MathNode.js'; -import { Loop } from '../utils/LoopNode.js'; -import { luminance } from './ColorAdjustment.js'; -import { textureSize } from '../accessors/TextureSizeNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; - -import { Vector2 } from '../../math/Vector2.js'; -import { Vector3 } from '../../math/Vector3.js'; +import { Vector2, Vector3 } from 'three'; +import { convertToTexture, TempNode, nodeObject, Fn, float, NodeUpdateType, uv, uniform, Loop, luminance, vec2, vec3, vec4, uniformArray, int, dot, max, pow, abs, If, textureSize, sin, cos, mat2, PI } from 'three/tsl'; class DenoiseNode extends TempNode { diff --git a/src/nodes/display/DepthOfFieldNode.js b/examples/jsm/tsl/display/DepthOfFieldNode.js similarity index 94% rename from src/nodes/display/DepthOfFieldNode.js rename to examples/jsm/tsl/display/DepthOfFieldNode.js index 79a192061f9c5e..434a747d950d4e 100644 --- a/src/nodes/display/DepthOfFieldNode.js +++ b/examples/jsm/tsl/display/DepthOfFieldNode.js @@ -1,10 +1,4 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { Fn, nodeObject, vec2, vec4 } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uniform } from '../core/UniformNode.js'; -import { clamp } from '../math/MathNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; +import { convertToTexture, TempNode, nodeObject, Fn, NodeUpdateType, uv, uniform, vec2, vec4, clamp } from 'three/tsl'; class DepthOfFieldNode extends TempNode { diff --git a/src/nodes/display/DotScreenNode.js b/examples/jsm/tsl/display/DotScreenNode.js similarity index 74% rename from src/nodes/display/DotScreenNode.js rename to examples/jsm/tsl/display/DotScreenNode.js index ebb8710618fc10..981a3c37f8168c 100644 --- a/src/nodes/display/DotScreenNode.js +++ b/examples/jsm/tsl/display/DotScreenNode.js @@ -1,12 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { nodeObject, Fn, vec2, vec3, vec4 } from '../tsl/TSLBase.js'; -import { uniform } from '../core/UniformNode.js'; -import { uv } from '../accessors/UV.js'; -import { sin, cos } from '../math/MathNode.js'; -import { add } from '../math/OperatorNode.js'; -import { screenSize } from './ScreenNode.js'; - -import { Vector2 } from '../../math/Vector2.js'; +import { Vector2 } from 'three'; +import { TempNode, nodeObject, Fn, uv, uniform, vec2, vec3, sin, cos, add, vec4, screenSize } from 'three/tsl'; class DotScreenNode extends TempNode { diff --git a/src/nodes/display/FXAANode.js b/examples/jsm/tsl/display/FXAANode.js similarity index 94% rename from src/nodes/display/FXAANode.js rename to examples/jsm/tsl/display/FXAANode.js index a584c54069f7c6..3f77fd55932ebd 100644 --- a/src/nodes/display/FXAANode.js +++ b/examples/jsm/tsl/display/FXAANode.js @@ -1,14 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { Fn, nodeObject, float, vec2, vec4, int, If } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uniform } from '../core/UniformNode.js'; -import { abs, max, min, mix, pow } from '../math/MathNode.js'; -import { sub } from '../math/OperatorNode.js'; -import { Loop, Break } from '../utils/LoopNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; - -import { Vector2 } from '../../math/Vector2.js'; +import { Vector2 } from 'three'; +import { TempNode, nodeObject, Fn, float, NodeUpdateType, uv, uniform, convertToTexture, vec2, vec4, If, Loop, int, max, min, pow, mix, Break, abs, sub } from 'three/tsl'; class FXAANode extends TempNode { diff --git a/src/nodes/display/FilmNode.js b/examples/jsm/tsl/display/FilmNode.js similarity index 75% rename from src/nodes/display/FilmNode.js rename to examples/jsm/tsl/display/FilmNode.js index 1415895085d4f4..1126ac9e483b06 100644 --- a/src/nodes/display/FilmNode.js +++ b/examples/jsm/tsl/display/FilmNode.js @@ -1,8 +1,4 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { Fn, nodeProxy, vec4 } from '../tsl/TSLBase.js'; -import { mix, fract, clamp, rand } from '../math/MathNode.js'; -import { timerLocal } from '../utils/TimerNode.js'; +import { TempNode, rand, Fn, fract, timerLocal, uv, clamp, mix, vec4, nodeProxy } from 'three/tsl'; class FilmNode extends TempNode { diff --git a/src/nodes/display/GTAONode.js b/examples/jsm/tsl/display/GTAONode.js similarity index 89% rename from src/nodes/display/GTAONode.js rename to examples/jsm/tsl/display/GTAONode.js index 8bd92d043c9b03..80f5294d206ec6 100644 --- a/src/nodes/display/GTAONode.js +++ b/examples/jsm/tsl/display/GTAONode.js @@ -1,23 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { texture } from '../accessors/TextureNode.js'; -import { textureSize } from '../accessors/TextureSizeNode.js'; -import { uv } from '../accessors/UV.js'; -import { nodeObject, Fn, mat3, vec2, vec3, vec4, float, int, If } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uniform } from '../core/UniformNode.js'; -import { DataTexture } from '../../textures/DataTexture.js'; -import { Vector2 } from '../../math/Vector2.js'; -import { Vector3 } from '../../math/Vector3.js'; -import { PI, cos, sin, pow, clamp, abs, max, mix, sqrt, acos, dot, normalize, cross } from '../math/MathNode.js'; -import { div, mul, add, sub } from '../math/OperatorNode.js'; -import { Loop } from '../utils/LoopNode.js'; -import { passTexture } from './PassNode.js'; -import { RepeatWrapping } from '../../constants.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; - -import { RenderTarget } from '../../core/RenderTarget.js'; -import { Color } from '../../math/Color.js'; +import { Color, DataTexture, RenderTarget, RepeatWrapping, Vector2, Vector3 } from 'three'; +import { QuadMesh, TempNode, nodeObject, Fn, float, NodeUpdateType, uv, uniform, Loop, vec2, vec3, vec4, int, dot, max, pow, abs, If, textureSize, sin, cos, PI, texture, passTexture, mat3, add, normalize, mul, cross, div, mix, sqrt, sub, acos, clamp, NodeMaterial } from 'three/tsl'; const _quadMesh = /*@__PURE__*/ new QuadMesh(); const _currentClearColor = /*@__PURE__*/ new Color(); diff --git a/src/nodes/display/GaussianBlurNode.js b/examples/jsm/tsl/display/GaussianBlurNode.js similarity index 87% rename from src/nodes/display/GaussianBlurNode.js rename to examples/jsm/tsl/display/GaussianBlurNode.js index 14fe6b9cd9fc00..190c02c5e4127e 100644 --- a/src/nodes/display/GaussianBlurNode.js +++ b/examples/jsm/tsl/display/GaussianBlurNode.js @@ -1,16 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { nodeObject, Fn, float, vec2, vec4 } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { mul } from '../math/OperatorNode.js'; -import { uv } from '../accessors/UV.js'; -import { passTexture } from './PassNode.js'; -import { uniform } from '../core/UniformNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; - -import { Vector2 } from '../../math/Vector2.js'; -import { RenderTarget } from '../../core/RenderTarget.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; +import { RenderTarget, Vector2 } from 'three'; +import { TempNode, nodeObject, Fn, float, NodeUpdateType, uv, uniform, convertToTexture, vec2, vec4, QuadMesh, passTexture, mul, NodeMaterial } from 'three/tsl'; // WebGPU: The use of a single QuadMesh for both gaussian blur passes results in a single RenderObject with a SampledTexture binding that // alternates between source textures and triggers creation of new BindGroups and BindGroupLayouts every frame. diff --git a/src/nodes/display/Lut3DNode.js b/examples/jsm/tsl/display/Lut3DNode.js similarity index 84% rename from src/nodes/display/Lut3DNode.js rename to examples/jsm/tsl/display/Lut3DNode.js index 982ae3960f4160..f67b0e825d67c3 100644 --- a/src/nodes/display/Lut3DNode.js +++ b/examples/jsm/tsl/display/Lut3DNode.js @@ -1,7 +1,4 @@ -import TempNode from '../core/TempNode.js'; -import { Fn, nodeObject, vec3, vec4, float } from '../tsl/TSLBase.js'; -import { uniform } from '../core/UniformNode.js'; -import { mix } from '../math/MathNode.js'; +import { TempNode, nodeObject, Fn, float, uniform, vec3, vec4, mix } from 'three/tsl'; class Lut3DNode extends TempNode { diff --git a/src/nodes/display/MotionBlur.js b/examples/jsm/tsl/display/MotionBlur.js similarity index 80% rename from src/nodes/display/MotionBlur.js rename to examples/jsm/tsl/display/MotionBlur.js index 2f8de9b79ab9d8..59904d42339c6e 100644 --- a/src/nodes/display/MotionBlur.js +++ b/examples/jsm/tsl/display/MotionBlur.js @@ -1,6 +1,5 @@ -import { float, int, Fn } from '../tsl/TSLBase.js'; -import { Loop } from '../utils/LoopNode.js'; -import { uv } from '../accessors/UV.js'; + +import { Fn, float, uv, Loop, int } from 'three/tsl'; export const motionBlur = /*@__PURE__*/ Fn( ( [ inputNode, velocity, numSamples = int( 16 ) ] ) => { diff --git a/src/nodes/display/ParallaxBarrierPassNode.js b/examples/jsm/tsl/display/ParallaxBarrierPassNode.js similarity index 79% rename from src/nodes/display/ParallaxBarrierPassNode.js rename to examples/jsm/tsl/display/ParallaxBarrierPassNode.js index 84f27d2de3839d..dea6698e5e7dff 100644 --- a/src/nodes/display/ParallaxBarrierPassNode.js +++ b/examples/jsm/tsl/display/ParallaxBarrierPassNode.js @@ -1,9 +1,5 @@ -import { Fn, If, nodeObject, vec4 } from '../tsl/TSLBase.js'; -import { uv } from '../accessors/UV.js'; -import { mod } from '../math/MathNode.js'; -import { screenCoordinate } from './ScreenNode.js'; +import { nodeObject, Fn, vec4, uv, NodeMaterial, If, mod, screenCoordinate } from 'three/tsl'; import StereoCompositePassNode from './StereoCompositePassNode.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; class ParallaxBarrierPassNode extends StereoCompositePassNode { diff --git a/src/nodes/display/PixelationPassNode.js b/examples/jsm/tsl/display/PixelationPassNode.js similarity index 88% rename from src/nodes/display/PixelationPassNode.js rename to examples/jsm/tsl/display/PixelationPassNode.js index 399cf5e76396ed..5715433d839a00 100644 --- a/src/nodes/display/PixelationPassNode.js +++ b/examples/jsm/tsl/display/PixelationPassNode.js @@ -1,17 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { Fn, nodeObject, vec2, vec3, float, If } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uniform } from '../core/UniformNode.js'; -import { dot, clamp, smoothstep, sign, step, floor } from '../math/MathNode.js'; -import { Vector4 } from '../../math/Vector4.js'; -import { output, property } from '../core/PropertyNode.js'; -import PassNode from './PassNode.js'; -import { mrt } from '../core/MRTNode.js'; -import { normalView } from '../accessors/Normal.js'; -import { convertToTexture } from '../utils/RTTNode.js'; - -import { NearestFilter } from '../../constants.js'; +import { NearestFilter, Vector4 } from 'three'; +import { TempNode, nodeObject, Fn, float, NodeUpdateType, uv, uniform, convertToTexture, vec2, vec3, clamp, floor, dot, smoothstep, If, sign, step, mrt, output, normalView, PassNode, property } from 'three/tsl'; class PixelationNode extends TempNode { diff --git a/src/nodes/display/RGBShiftNode.js b/examples/jsm/tsl/display/RGBShiftNode.js similarity index 75% rename from src/nodes/display/RGBShiftNode.js rename to examples/jsm/tsl/display/RGBShiftNode.js index cc3647428a322b..fcb470b62e54b1 100644 --- a/src/nodes/display/RGBShiftNode.js +++ b/examples/jsm/tsl/display/RGBShiftNode.js @@ -1,9 +1,4 @@ -import TempNode from '../core/TempNode.js'; -import { nodeObject, Fn, vec2, vec4 } from '../tsl/TSLBase.js'; -import { uniform } from '../core/UniformNode.js'; -import { uv } from '../accessors/UV.js'; -import { sin, cos } from '../math/MathNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; +import { TempNode, nodeObject, Fn, uv, uniform, vec2, sin, cos, vec4, convertToTexture } from 'three/tsl'; class RGBShiftNode extends TempNode { diff --git a/src/nodes/display/SSAAPassNode.js b/examples/jsm/tsl/display/SSAAPassNode.js similarity index 92% rename from src/nodes/display/SSAAPassNode.js rename to examples/jsm/tsl/display/SSAAPassNode.js index ce61c779dbc57e..ea0f9cfa22cbbe 100644 --- a/src/nodes/display/SSAAPassNode.js +++ b/examples/jsm/tsl/display/SSAAPassNode.js @@ -1,13 +1,5 @@ -import { nodeObject } from '../tsl/TSLBase.js'; -import PassNode from './PassNode.js'; -import { Color } from '../../math/Color.js'; -import { Vector2 } from '../../math/Vector2.js'; -import { AdditiveBlending } from '../../constants.js'; -import { uniform } from '../core/UniformNode.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; -import { texture } from '../accessors/TextureNode.js'; -import { mrt, getTextureIndex } from '../core/MRTNode.js'; -import NodeMaterial from '../../materials/nodes/NodeMaterial.js'; +import { AdditiveBlending, Color, Vector2 } from 'three'; +import { nodeObject, uniform, mrt, PassNode, QuadMesh, texture, NodeMaterial, getTextureIndex } from 'three/tsl'; const _size = /*@__PURE__*/ new Vector2(); diff --git a/src/nodes/display/Sepia.js b/examples/jsm/tsl/display/Sepia.js similarity index 77% rename from src/nodes/display/Sepia.js rename to examples/jsm/tsl/display/Sepia.js index 17dcb2b3b5eb51..cae66b62224de3 100644 --- a/src/nodes/display/Sepia.js +++ b/examples/jsm/tsl/display/Sepia.js @@ -1,5 +1,4 @@ -import { Fn, vec3, vec4 } from '../tsl/TSLBase.js'; -import { dot } from '../math/MathNode.js'; +import { dot, Fn, vec3, vec4 } from 'three/tsl'; export const sepia = /*@__PURE__*/ Fn( ( [ color ] ) => { diff --git a/src/nodes/display/SobelOperatorNode.js b/examples/jsm/tsl/display/SobelOperatorNode.js similarity index 86% rename from src/nodes/display/SobelOperatorNode.js rename to examples/jsm/tsl/display/SobelOperatorNode.js index 6d6113f3e4d8d4..458e84bfa492af 100644 --- a/src/nodes/display/SobelOperatorNode.js +++ b/examples/jsm/tsl/display/SobelOperatorNode.js @@ -1,13 +1,5 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { luminance } from './ColorAdjustment.js'; -import { Fn, nodeObject, vec2, vec3, vec4, mat3 } from '../tsl/TSLBase.js'; -import { NodeUpdateType } from '../core/constants.js'; -import { uniform } from '../core/UniformNode.js'; -import { add } from '../math/OperatorNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; - -import { Vector2 } from '../../math/Vector2.js'; +import { Vector2 } from 'three'; +import { TempNode, nodeObject, Fn, NodeUpdateType, uv, uniform, convertToTexture, vec2, vec3, vec4, mat3, luminance, add } from 'three/tsl'; class SobelOperatorNode extends TempNode { diff --git a/src/nodes/display/StereoCompositePassNode.js b/examples/jsm/tsl/display/StereoCompositePassNode.js similarity index 84% rename from src/nodes/display/StereoCompositePassNode.js rename to examples/jsm/tsl/display/StereoCompositePassNode.js index 372f35dd13e30a..68a1854229f525 100644 --- a/src/nodes/display/StereoCompositePassNode.js +++ b/examples/jsm/tsl/display/StereoCompositePassNode.js @@ -1,11 +1,5 @@ - -import PassNode from './PassNode.js'; -import { StereoCamera } from '../../cameras/StereoCamera.js'; -import { HalfFloatType, LinearFilter, NearestFilter } from '../../constants.js'; -import { RenderTarget } from '../../core/RenderTarget.js'; -import { texture } from '../accessors/TextureNode.js'; -import { Vector2 } from '../../math/Vector2.js'; -import QuadMesh from '../../renderers/common/QuadMesh.js'; +import { RenderTarget, StereoCamera, HalfFloatType, LinearFilter, NearestFilter, Vector2 } from 'three'; +import { PassNode, QuadMesh, texture } from 'three/tsl'; const _size = /*@__PURE__*/ new Vector2(); const _quadMesh = /*@__PURE__*/ new QuadMesh(); diff --git a/src/nodes/display/StereoPassNode.js b/examples/jsm/tsl/display/StereoPassNode.js similarity index 90% rename from src/nodes/display/StereoPassNode.js rename to examples/jsm/tsl/display/StereoPassNode.js index 9c8ed4f902f9e9..9c0c2e31db5f52 100644 --- a/src/nodes/display/StereoPassNode.js +++ b/examples/jsm/tsl/display/StereoPassNode.js @@ -1,7 +1,5 @@ -import { nodeObject } from '../tsl/TSLBase.js'; -import PassNode from './PassNode.js'; -import { Vector2 } from '../../math/Vector2.js'; -import { StereoCamera } from '../../cameras/StereoCamera.js'; +import { StereoCamera, Vector2 } from 'three'; +import { PassNode, nodeObject } from 'three/tsl'; const _size = /*@__PURE__*/ new Vector2(); diff --git a/src/nodes/display/TransitionNode.js b/examples/jsm/tsl/display/TransitionNode.js similarity index 85% rename from src/nodes/display/TransitionNode.js rename to examples/jsm/tsl/display/TransitionNode.js index e30b11d1dc6639..4a1e3f6e8355ce 100644 --- a/src/nodes/display/TransitionNode.js +++ b/examples/jsm/tsl/display/TransitionNode.js @@ -1,9 +1,4 @@ -import TempNode from '../core/TempNode.js'; -import { uv } from '../accessors/UV.js'; -import { Fn, nodeObject, float, int, vec4, If } from '../tsl/TSLBase.js'; -import { clamp, mix } from '../math/MathNode.js'; -import { sub } from '../math/OperatorNode.js'; -import { convertToTexture } from '../utils/RTTNode.js'; +import { TempNode, nodeObject, Fn, float, uv, convertToTexture, vec4, If, int, clamp, sub, mix } from 'three/tsl'; class TransitionNode extends TempNode { diff --git a/examples/misc_controls_fly.html b/examples/misc_controls_fly.html index 4d7c65fbc7ac69..04f8b6f79b5f28 100644 --- a/examples/misc_controls_fly.html +++ b/examples/misc_controls_fly.html @@ -40,7 +40,8 @@