super-three 0.156.0 → 0.157.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/three.cjs +753 -277
- package/build/three.js +753 -277
- package/build/three.min.js +2 -2
- package/build/three.module.js +750 -276
- package/build/three.module.min.js +1 -1
- package/examples/jsm/capabilities/WebGL.js +17 -0
- package/examples/jsm/controls/DragControls.js +3 -2
- package/examples/jsm/csm/CSMShader.js +25 -21
- package/examples/jsm/exporters/EXRExporter.js +102 -24
- package/examples/jsm/exporters/GLTFExporter.js +1 -1
- package/examples/jsm/libs/rhino3dm/rhino3dm.js +8726 -4
- package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +8737 -4
- package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/examples/jsm/lights/LightProbeGenerator.js +37 -3
- package/examples/jsm/lines/LineMaterial.js +90 -156
- package/examples/jsm/loaders/3DMLoader.js +378 -104
- package/examples/jsm/loaders/GLTFLoader.js +1 -1
- package/examples/jsm/loaders/LDrawLoader.js +22 -16
- package/examples/jsm/loaders/RGBELoader.js +1 -1
- package/examples/jsm/loaders/USDZLoader.js +215 -12
- package/examples/jsm/materials/MeshGouraudMaterial.js +22 -18
- package/examples/jsm/nodes/Nodes.js +5 -1
- package/examples/jsm/nodes/accessors/BitangentNode.js +1 -1
- package/examples/jsm/nodes/accessors/BufferAttributeNode.js +2 -2
- package/examples/jsm/nodes/accessors/BufferNode.js +1 -1
- package/examples/jsm/nodes/accessors/CameraNode.js +1 -1
- package/examples/jsm/nodes/accessors/CubeTextureNode.js +2 -2
- package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +6 -5
- package/examples/jsm/nodes/accessors/InstanceNode.js +2 -2
- package/examples/jsm/nodes/accessors/LineMaterialNode.js +7 -9
- package/examples/jsm/nodes/accessors/MaterialNode.js +34 -46
- package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +9 -9
- package/examples/jsm/nodes/accessors/ModelNode.js +1 -1
- package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +5 -4
- package/examples/jsm/nodes/accessors/MorphNode.js +4 -4
- package/examples/jsm/nodes/accessors/NormalNode.js +1 -1
- package/examples/jsm/nodes/accessors/Object3DNode.js +1 -1
- package/examples/jsm/nodes/accessors/PointUVNode.js +1 -1
- package/examples/jsm/nodes/accessors/PositionNode.js +1 -1
- package/examples/jsm/nodes/accessors/ReferenceNode.js +13 -7
- package/examples/jsm/nodes/accessors/ReflectVectorNode.js +2 -2
- package/examples/jsm/nodes/accessors/SceneNode.js +2 -2
- package/examples/jsm/nodes/accessors/SkinningNode.js +2 -2
- package/examples/jsm/nodes/accessors/StorageBufferNode.js +1 -1
- package/examples/jsm/nodes/accessors/TangentNode.js +1 -1
- package/examples/jsm/nodes/accessors/TextureBicubicNode.js +2 -2
- package/examples/jsm/nodes/accessors/TextureNode.js +12 -6
- package/examples/jsm/nodes/accessors/TextureSizeNode.js +2 -2
- package/examples/jsm/nodes/accessors/TextureStoreNode.js +1 -1
- package/examples/jsm/nodes/accessors/UVNode.js +1 -1
- package/examples/jsm/nodes/accessors/UserDataNode.js +2 -2
- package/examples/jsm/nodes/code/CodeNode.js +1 -1
- package/examples/jsm/nodes/code/ExpressionNode.js +1 -1
- package/examples/jsm/nodes/code/FunctionCallNode.js +1 -1
- package/examples/jsm/nodes/code/FunctionNode.js +18 -7
- package/examples/jsm/nodes/code/ScriptableNode.js +2 -2
- package/examples/jsm/nodes/code/ScriptableValueNode.js +2 -2
- package/examples/jsm/nodes/core/ArrayUniformNode.js +1 -1
- package/examples/jsm/nodes/core/AttributeNode.js +1 -1
- package/examples/jsm/nodes/core/BypassNode.js +1 -1
- package/examples/jsm/nodes/core/CacheNode.js +1 -1
- package/examples/jsm/nodes/core/ConstNode.js +1 -1
- package/examples/jsm/nodes/core/ContextNode.js +2 -2
- package/examples/jsm/nodes/core/IndexNode.js +1 -1
- package/examples/jsm/nodes/core/InputNode.js +1 -1
- package/examples/jsm/nodes/core/Node.js +28 -13
- package/examples/jsm/nodes/core/NodeBuilder.js +3 -17
- package/examples/jsm/nodes/core/NodeFrame.js +37 -14
- package/examples/jsm/nodes/core/OutputStructNode.js +8 -4
- package/examples/jsm/nodes/core/PropertyNode.js +3 -3
- package/examples/jsm/nodes/core/StackNode.js +1 -1
- package/examples/jsm/nodes/core/StructTypeNode.js +1 -1
- package/examples/jsm/nodes/core/TempNode.js +1 -1
- package/examples/jsm/nodes/core/UniformNode.js +3 -1
- package/examples/jsm/nodes/core/VarNode.js +1 -1
- package/examples/jsm/nodes/core/VaryingNode.js +1 -1
- package/examples/jsm/nodes/core/constants.js +1 -1
- package/examples/jsm/nodes/display/BlendModeNode.js +2 -2
- package/examples/jsm/nodes/display/BumpMapNode.js +2 -2
- package/examples/jsm/nodes/display/ColorAdjustmentNode.js +2 -2
- package/examples/jsm/nodes/display/ColorSpaceNode.js +2 -2
- package/examples/jsm/nodes/display/FrontFacingNode.js +1 -1
- package/examples/jsm/nodes/display/NormalMapNode.js +2 -2
- package/examples/jsm/nodes/display/PosterizeNode.js +2 -2
- package/examples/jsm/nodes/display/ToneMappingNode.js +2 -2
- package/examples/jsm/nodes/display/ViewportDepthNode.js +2 -2
- package/examples/jsm/nodes/display/ViewportDepthTextureNode.js +1 -1
- package/examples/jsm/nodes/display/ViewportNode.js +2 -2
- package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +1 -1
- package/examples/jsm/nodes/display/ViewportTextureNode.js +1 -1
- package/examples/jsm/nodes/fog/FogExp2Node.js +2 -2
- package/examples/jsm/nodes/fog/FogNode.js +2 -2
- package/examples/jsm/nodes/fog/FogRangeNode.js +2 -2
- package/examples/jsm/nodes/geometry/RangeNode.js +2 -2
- package/examples/jsm/nodes/gpgpu/ComputeNode.js +1 -1
- package/examples/jsm/nodes/lighting/AONode.js +2 -2
- package/examples/jsm/nodes/lighting/AmbientLightNode.js +3 -3
- package/examples/jsm/nodes/lighting/AnalyticLightNode.js +4 -4
- package/examples/jsm/nodes/lighting/DirectionalLightNode.js +4 -4
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +2 -2
- package/examples/jsm/nodes/lighting/HemisphereLightNode.js +3 -3
- package/examples/jsm/nodes/lighting/IESSpotLightNode.js +2 -2
- package/examples/jsm/nodes/lighting/LightNode.js +2 -2
- package/examples/jsm/nodes/lighting/LightingContextNode.js +3 -3
- package/examples/jsm/nodes/lighting/LightingNode.js +1 -1
- package/examples/jsm/nodes/lighting/LightsNode.js +4 -4
- package/examples/jsm/nodes/lighting/PointLightNode.js +3 -3
- package/examples/jsm/nodes/lighting/SpotLightNode.js +4 -4
- package/examples/jsm/nodes/materials/Line2NodeMaterial.js +449 -0
- package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +1 -1
- package/examples/jsm/nodes/materials/LineDashedNodeMaterial.js +2 -2
- package/examples/jsm/nodes/materials/Materials.js +1 -0
- package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +1 -1
- package/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +2 -2
- package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +2 -2
- package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +3 -3
- package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +6 -6
- package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +3 -3
- package/examples/jsm/nodes/materials/NodeMaterial.js +27 -26
- package/examples/jsm/nodes/materials/PointsNodeMaterial.js +1 -1
- package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +2 -2
- package/examples/jsm/nodes/math/CondNode.js +1 -1
- package/examples/jsm/nodes/math/HashNode.js +8 -9
- package/examples/jsm/nodes/math/MathNode.js +2 -2
- package/examples/jsm/nodes/math/OperatorNode.js +1 -1
- package/examples/jsm/nodes/procedural/CheckerNode.js +3 -3
- package/examples/jsm/nodes/shadernode/ShaderNode.js +81 -28
- package/examples/jsm/nodes/utils/ArrayElementNode.js +1 -1
- package/examples/jsm/nodes/utils/ConvertNode.js +1 -1
- package/examples/jsm/nodes/utils/DiscardNode.js +1 -1
- package/examples/jsm/nodes/utils/EquirectUVNode.js +2 -2
- package/examples/jsm/nodes/utils/JoinNode.js +1 -1
- package/examples/jsm/nodes/utils/LoopNode.js +11 -11
- package/examples/jsm/nodes/utils/MatcapUVNode.js +2 -2
- package/examples/jsm/nodes/utils/MaxMipLevelNode.js +1 -1
- package/examples/jsm/nodes/utils/OscNode.js +2 -2
- package/examples/jsm/nodes/utils/PackingNode.js +2 -2
- package/examples/jsm/nodes/utils/RemapNode.js +2 -2
- package/examples/jsm/nodes/utils/RotateUVNode.js +2 -2
- package/examples/jsm/nodes/utils/SetNode.js +62 -0
- package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +2 -2
- package/examples/jsm/nodes/utils/SplitNode.js +1 -1
- package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +2 -2
- package/examples/jsm/nodes/utils/TimerNode.js +2 -2
- package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +2 -2
- package/examples/jsm/objects/Sky.js +1 -3
- package/examples/jsm/postprocessing/OutputPass.js +3 -2
- package/examples/jsm/renderers/common/Background.js +2 -2
- package/examples/jsm/renderers/common/Bindings.js +3 -5
- package/examples/jsm/renderers/common/Pipelines.js +7 -7
- package/examples/jsm/renderers/common/RenderContext.js +3 -0
- package/examples/jsm/renderers/common/RenderObject.js +40 -16
- package/examples/jsm/renderers/common/RenderObjects.js +8 -14
- package/examples/jsm/renderers/common/Renderer.js +40 -13
- package/examples/jsm/renderers/common/SampledTexture.js +4 -2
- package/examples/jsm/renderers/common/StorageTexture.js +19 -0
- package/examples/jsm/renderers/common/Textures.js +14 -9
- package/examples/jsm/renderers/common/nodes/NodeBuilderState.js +35 -0
- package/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +20 -10
- package/examples/jsm/renderers/common/nodes/NodeSampler.js +0 -6
- package/examples/jsm/renderers/common/nodes/Nodes.js +51 -24
- package/examples/jsm/renderers/webgl/WebGLBackend.js +100 -5
- package/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +92 -6
- package/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +13 -0
- package/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +3 -3
- package/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js +14 -2
- package/examples/jsm/renderers/webgpu/WebGPUBackend.js +5 -5
- package/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +6 -3
- package/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +5 -5
- package/examples/jsm/renderers/webgpu/utils/WebGPUTexturePassUtils.js +285 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +197 -167
- package/examples/jsm/shaders/GammaCorrectionShader.js +1 -1
- package/examples/jsm/shaders/MMDToonShader.js +4 -4
- package/examples/jsm/shaders/OutputShader.js +2 -2
- package/examples/jsm/shaders/SubsurfaceScatteringShader.js +6 -6
- package/examples/jsm/utils/BufferGeometryUtils.js +6 -4
- package/package.json +1 -1
- package/src/Three.js +0 -2
- package/src/animation/AnimationUtils.js +3 -20
- package/src/animation/KeyframeTrack.js +8 -8
- package/src/cameras/Camera.js +1 -5
- package/src/cameras/CubeCamera.js +14 -8
- package/src/constants.js +7 -1
- package/src/core/RenderTarget.js +16 -7
- package/src/extras/core/CurvePath.js +4 -1
- package/src/loaders/MaterialLoader.js +1 -1
- package/src/loaders/ObjectLoader.js +6 -0
- package/src/materials/Material.js +8 -8
- package/src/math/Color.js +1 -5
- package/src/math/ColorManagement.js +82 -60
- package/src/objects/Sprite.js +2 -2
- package/src/renderers/WebGLMultiviewRenderTarget.js +35 -0
- package/src/renderers/WebGLRenderer.js +78 -22
- package/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +35 -2
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -9
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +19 -15
- package/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +4 -4
- package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +3 -3
- package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +11 -6
- package/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +4 -4
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +16 -16
- package/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +3 -3
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +1 -1
- package/src/renderers/shaders/UniformsUtils.js +2 -2
- package/src/renderers/webgl/WebGLBackground.js +5 -4
- package/src/renderers/webgl/WebGLLights.js +14 -3
- package/src/renderers/webgl/WebGLMultiview.js +100 -0
- package/src/renderers/webgl/WebGLProgram.js +84 -5
- package/src/renderers/webgl/WebGLPrograms.js +11 -2
- package/src/renderers/webgl/WebGLTextures.js +214 -26
- package/src/renderers/webgl/WebGLUtils.js +21 -23
- package/src/renderers/webxr/WebXRManager.js +36 -12
- package/src/scenes/Fog.js +1 -0
- package/src/scenes/FogExp2.js +1 -0
- package/src/textures/Source.js +2 -2
- package/examples/jsm/renderers/webgpu/utils/WebGPUTextureMipmapUtils.js +0 -163
- package/src/lights/AmbientLightProbe.js +0 -21
- package/src/lights/HemisphereLightProbe.js +0 -30
|
@@ -55,7 +55,7 @@ class ViewportNode extends Node {
|
|
|
55
55
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
setup( builder ) {
|
|
59
59
|
|
|
60
60
|
const scope = this.scope;
|
|
61
61
|
|
|
@@ -126,4 +126,4 @@ export const viewportBottomLeft = nodeImmutable( ViewportNode, ViewportNode.BOTT
|
|
|
126
126
|
export const viewportTopRight = nodeImmutable( ViewportNode, ViewportNode.TOP_RIGHT );
|
|
127
127
|
export const viewportBottomRight = nodeImmutable( ViewportNode, ViewportNode.BOTTOM_RIGHT );
|
|
128
128
|
|
|
129
|
-
addNodeClass( ViewportNode );
|
|
129
|
+
addNodeClass( 'ViewportNode', ViewportNode );
|
|
@@ -28,4 +28,4 @@ export const viewportSharedTexture = nodeProxy( ViewportSharedTextureNode );
|
|
|
28
28
|
|
|
29
29
|
addNodeElement( 'viewportSharedTexture', viewportSharedTexture );
|
|
30
30
|
|
|
31
|
-
addNodeClass( ViewportSharedTextureNode );
|
|
31
|
+
addNodeClass( 'ViewportSharedTextureNode', ViewportSharedTextureNode );
|
|
@@ -72,4 +72,4 @@ export const viewportMipTexture = nodeProxy( ViewportTextureNode, null, null, {
|
|
|
72
72
|
addNodeElement( 'viewportTexture', viewportTexture );
|
|
73
73
|
addNodeElement( 'viewportMipTexture', viewportMipTexture );
|
|
74
74
|
|
|
75
|
-
addNodeClass( ViewportTextureNode );
|
|
75
|
+
addNodeClass( 'ViewportTextureNode', ViewportTextureNode );
|
|
@@ -15,7 +15,7 @@ class FogExp2Node extends FogNode {
|
|
|
15
15
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
setup() {
|
|
19
19
|
|
|
20
20
|
const depthNode = positionView.z.negate();
|
|
21
21
|
const densityNode = this.densityNode;
|
|
@@ -32,4 +32,4 @@ export const densityFog = nodeProxy( FogExp2Node );
|
|
|
32
32
|
|
|
33
33
|
addNodeElement( 'densityFog', densityFog );
|
|
34
34
|
|
|
35
|
-
addNodeClass( FogExp2Node );
|
|
35
|
+
addNodeClass( 'FogExp2Node', FogExp2Node );
|
|
@@ -20,7 +20,7 @@ class FogNode extends Node {
|
|
|
20
20
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
setup() {
|
|
24
24
|
|
|
25
25
|
return this.factorNode;
|
|
26
26
|
|
|
@@ -34,4 +34,4 @@ export const fog = nodeProxy( FogNode );
|
|
|
34
34
|
|
|
35
35
|
addNodeElement( 'fog', fog );
|
|
36
36
|
|
|
37
|
-
addNodeClass( FogNode );
|
|
37
|
+
addNodeClass( 'FogNode', FogNode );
|
|
@@ -17,7 +17,7 @@ class FogRangeNode extends FogNode {
|
|
|
17
17
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
setup() {
|
|
21
21
|
|
|
22
22
|
return smoothstep( this.nearNode, this.farNode, positionView.z.negate() );
|
|
23
23
|
|
|
@@ -31,4 +31,4 @@ export const rangeFog = nodeProxy( FogRangeNode );
|
|
|
31
31
|
|
|
32
32
|
addNodeElement( 'rangeFog', rangeFog );
|
|
33
33
|
|
|
34
|
-
addNodeClass( FogRangeNode );
|
|
34
|
+
addNodeClass( 'FogRangeNode', FogRangeNode );
|
|
@@ -36,7 +36,7 @@ class RangeNode extends Node {
|
|
|
36
36
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
setup( builder ) {
|
|
40
40
|
|
|
41
41
|
const object = builder.object;
|
|
42
42
|
|
|
@@ -101,4 +101,4 @@ export default RangeNode;
|
|
|
101
101
|
|
|
102
102
|
export const range = nodeProxy( RangeNode );
|
|
103
103
|
|
|
104
|
-
addNodeClass( RangeNode );
|
|
104
|
+
addNodeClass( 'RangeNode', RangeNode );
|
|
@@ -11,7 +11,7 @@ class AONode extends LightingNode {
|
|
|
11
11
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
setup( builder ) {
|
|
15
15
|
|
|
16
16
|
const aoIntensity = 1;
|
|
17
17
|
const aoNode = this.aoNode.x.sub( 1.0 ).mul( aoIntensity ).add( 1.0 );
|
|
@@ -24,4 +24,4 @@ class AONode extends LightingNode {
|
|
|
24
24
|
|
|
25
25
|
export default AONode;
|
|
26
26
|
|
|
27
|
-
addNodeClass( AONode );
|
|
27
|
+
addNodeClass( 'AONode', AONode );
|
|
@@ -12,7 +12,7 @@ class AmbientLightNode extends AnalyticLightNode {
|
|
|
12
12
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
setup( { context } ) {
|
|
16
16
|
|
|
17
17
|
context.irradiance.addAssign( this.colorNode );
|
|
18
18
|
|
|
@@ -22,6 +22,6 @@ class AmbientLightNode extends AnalyticLightNode {
|
|
|
22
22
|
|
|
23
23
|
export default AmbientLightNode;
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
addNodeClass( 'AmbientLightNode', AmbientLightNode );
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
addLightNode( AmbientLight, AmbientLightNode );
|
|
@@ -37,7 +37,7 @@ class AnalyticLightNode extends LightingNode {
|
|
|
37
37
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
setupShadow( builder ) {
|
|
41
41
|
|
|
42
42
|
let shadowNode = this.shadowNode;
|
|
43
43
|
|
|
@@ -136,9 +136,9 @@ class AnalyticLightNode extends LightingNode {
|
|
|
136
136
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
setup( builder ) {
|
|
140
140
|
|
|
141
|
-
if ( this.light.castShadow ) this.
|
|
141
|
+
if ( this.light.castShadow ) this.setupShadow( builder );
|
|
142
142
|
|
|
143
143
|
}
|
|
144
144
|
|
|
@@ -181,4 +181,4 @@ class AnalyticLightNode extends LightingNode {
|
|
|
181
181
|
|
|
182
182
|
export default AnalyticLightNode;
|
|
183
183
|
|
|
184
|
-
addNodeClass( AnalyticLightNode );
|
|
184
|
+
addNodeClass( 'AnalyticLightNode', AnalyticLightNode );
|
|
@@ -13,9 +13,9 @@ class DirectionalLightNode extends AnalyticLightNode {
|
|
|
13
13
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
setup( builder ) {
|
|
17
17
|
|
|
18
|
-
super.
|
|
18
|
+
super.setup( builder );
|
|
19
19
|
|
|
20
20
|
const lightingModel = builder.context.lightingModel;
|
|
21
21
|
|
|
@@ -35,6 +35,6 @@ class DirectionalLightNode extends AnalyticLightNode {
|
|
|
35
35
|
|
|
36
36
|
export default DirectionalLightNode;
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
addNodeClass( 'DirectionalLightNode', DirectionalLightNode );
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
addLightNode( DirectionalLight, DirectionalLightNode );
|
|
@@ -24,7 +24,7 @@ class EnvironmentNode extends LightingNode {
|
|
|
24
24
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
setup( builder ) {
|
|
28
28
|
|
|
29
29
|
let envNode = this.envNode;
|
|
30
30
|
const properties = builder.getNodeProperties( this );
|
|
@@ -188,4 +188,4 @@ const createIrradianceContext = ( normalWorldNode ) => {
|
|
|
188
188
|
|
|
189
189
|
export default EnvironmentNode;
|
|
190
190
|
|
|
191
|
-
addNodeClass( EnvironmentNode );
|
|
191
|
+
addNodeClass( 'EnvironmentNode', EnvironmentNode );
|
|
@@ -33,7 +33,7 @@ class HemisphereLightNode extends AnalyticLightNode {
|
|
|
33
33
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
setup( builder ) {
|
|
37
37
|
|
|
38
38
|
const { colorNode, groundColorNode, lightDirectionNode } = this;
|
|
39
39
|
|
|
@@ -50,6 +50,6 @@ class HemisphereLightNode extends AnalyticLightNode {
|
|
|
50
50
|
|
|
51
51
|
export default HemisphereLightNode;
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
addNodeClass( 'HemisphereLightNode', HemisphereLightNode );
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
addLightNode( HemisphereLight, HemisphereLightNode );
|
|
@@ -34,6 +34,6 @@ class IESSpotLightNode extends SpotLightNode {
|
|
|
34
34
|
|
|
35
35
|
export default IESSpotLightNode;
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
addNodeClass( 'IESSpotLightNode', IESSpotLightNode );
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
addLightNode( IESSpotLight, IESSpotLightNode );
|
|
@@ -14,7 +14,7 @@ class LightNode extends Node {
|
|
|
14
14
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
setup() {
|
|
18
18
|
|
|
19
19
|
const { scope, light } = this;
|
|
20
20
|
|
|
@@ -54,4 +54,4 @@ export default LightNode;
|
|
|
54
54
|
|
|
55
55
|
export const lightTargetDirection = nodeProxy( LightNode, LightNode.TARGET_DIRECTION );
|
|
56
56
|
|
|
57
|
-
addNodeClass( LightNode );
|
|
57
|
+
addNodeClass( 'LightNode', LightNode );
|
|
@@ -22,7 +22,7 @@ class LightingContextNode extends ContextNode {
|
|
|
22
22
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
setup( builder ) {
|
|
26
26
|
|
|
27
27
|
const { lightingModel, backdropNode, backdropAlphaNode } = this;
|
|
28
28
|
|
|
@@ -76,7 +76,7 @@ class LightingContextNode extends ContextNode {
|
|
|
76
76
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
return super.
|
|
79
|
+
return super.setup( builder );
|
|
80
80
|
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -99,4 +99,4 @@ export const lightingContext = nodeProxy( LightingContextNode );
|
|
|
99
99
|
|
|
100
100
|
addNodeElement( 'lightingContext', lightingContext );
|
|
101
101
|
|
|
102
|
-
addNodeClass( LightingContextNode );
|
|
102
|
+
addNodeClass( 'LightingContextNode', LightingContextNode );
|
|
@@ -28,7 +28,7 @@ class LightsNode extends Node {
|
|
|
28
28
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
setup( builder ) {
|
|
32
32
|
|
|
33
33
|
const lightNodes = this.lightNodes;
|
|
34
34
|
|
|
@@ -119,9 +119,9 @@ export const lightsWithoutWrap = nodeProxy( LightsNode );
|
|
|
119
119
|
|
|
120
120
|
export function addLightNode( lightClass, lightNodeClass ) {
|
|
121
121
|
|
|
122
|
-
if ( LightNodes.has( lightClass ) ) throw new Error( `Redefinition of light node ${ lightNodeClass.
|
|
123
|
-
if ( typeof lightClass !== 'function'
|
|
124
|
-
if ( typeof lightNodeClass !== 'function' || ! lightNodeClass.
|
|
122
|
+
if ( LightNodes.has( lightClass ) ) throw new Error( `Redefinition of light node ${ lightNodeClass.type }` );
|
|
123
|
+
if ( typeof lightClass !== 'function' ) throw new Error( `Light ${ lightClass.name } is not a class` );
|
|
124
|
+
if ( typeof lightNodeClass !== 'function' || ! lightNodeClass.type ) throw new Error( `Light node ${ lightNodeClass.type } is not a class` );
|
|
125
125
|
|
|
126
126
|
LightNodes.set( lightClass, lightNodeClass );
|
|
127
127
|
|
|
@@ -30,7 +30,7 @@ class PointLightNode extends AnalyticLightNode {
|
|
|
30
30
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
setup( builder ) {
|
|
34
34
|
|
|
35
35
|
const { colorNode, cutoffDistanceNode, decayExponentNode, light } = this;
|
|
36
36
|
|
|
@@ -63,6 +63,6 @@ class PointLightNode extends AnalyticLightNode {
|
|
|
63
63
|
|
|
64
64
|
export default PointLightNode;
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
addNodeClass( 'PointLightNode', PointLightNode );
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
addLightNode( PointLight, PointLightNode );
|
|
@@ -46,9 +46,9 @@ class SpotLightNode extends AnalyticLightNode {
|
|
|
46
46
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
setup( builder ) {
|
|
50
50
|
|
|
51
|
-
super.
|
|
51
|
+
super.setup( builder );
|
|
52
52
|
|
|
53
53
|
const lightingModel = builder.context.lightingModel;
|
|
54
54
|
|
|
@@ -84,6 +84,6 @@ class SpotLightNode extends AnalyticLightNode {
|
|
|
84
84
|
|
|
85
85
|
export default SpotLightNode;
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
addNodeClass( 'SpotLightNode', SpotLightNode );
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
addLightNode( SpotLight, SpotLightNode );
|