@needle-tools/three 0.153.0 → 0.154.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 +112 -364
- package/build/three.js +112 -364
- package/build/three.min.js +1 -1
- package/build/three.module.js +113 -346
- package/build/three.module.min.js +1 -1
- package/examples/jsm/controls/ArcballControls.js +2 -1
- package/examples/jsm/controls/FlyControls.js +25 -9
- package/examples/jsm/controls/OrbitControls.js +7 -1
- package/examples/jsm/csm/CSM.js +1 -1
- package/examples/jsm/effects/AnaglyphEffect.js +1 -1
- package/examples/jsm/effects/OutlineEffect.js +1 -1
- package/examples/jsm/effects/ParallaxBarrierEffect.js +1 -1
- package/examples/jsm/environments/RoomEnvironment.js +6 -2
- package/examples/jsm/lines/LineMaterial.js +1 -1
- package/examples/jsm/loaders/3DMLoader.js +1 -1
- package/examples/jsm/loaders/3MFLoader.js +5 -1
- package/examples/jsm/loaders/AMFLoader.js +5 -1
- package/examples/jsm/loaders/ColladaLoader.js +4 -1
- package/examples/jsm/loaders/FBXLoader.js +9 -2
- package/examples/jsm/loaders/LDrawLoader.js +4 -7
- package/examples/jsm/loaders/PLYLoader.js +16 -6
- package/examples/jsm/loaders/VRMLLoader.js +16 -4
- package/examples/jsm/materials/MeshGouraudMaterial.js +2 -2
- package/examples/jsm/math/MeshSurfaceSampler.js +76 -35
- package/examples/jsm/nodes/Nodes.js +20 -15
- package/examples/jsm/nodes/accessors/BufferAttributeNode.js +21 -8
- package/examples/jsm/nodes/accessors/CameraNode.js +25 -4
- package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +7 -1
- package/examples/jsm/nodes/accessors/InstanceNode.js +2 -4
- package/examples/jsm/nodes/accessors/MaterialNode.js +55 -47
- package/examples/jsm/nodes/accessors/ModelNode.js +3 -1
- package/examples/jsm/nodes/accessors/MorphNode.js +70 -0
- package/examples/jsm/nodes/accessors/NormalNode.js +3 -2
- package/examples/jsm/nodes/accessors/Object3DNode.js +10 -2
- package/examples/jsm/nodes/accessors/SceneNode.js +46 -0
- package/examples/jsm/nodes/accessors/SkinningNode.js +43 -62
- package/examples/jsm/nodes/accessors/TangentNode.js +2 -2
- package/examples/jsm/nodes/accessors/TextureBicubicNode.js +94 -0
- package/examples/jsm/nodes/accessors/TextureNode.js +68 -6
- package/examples/jsm/nodes/accessors/TextureSizeNode.js +35 -0
- package/examples/jsm/nodes/accessors/UVNode.js +1 -1
- package/examples/jsm/nodes/code/CodeNode.js +3 -0
- package/examples/jsm/nodes/code/FunctionNode.js +25 -4
- package/examples/jsm/nodes/core/BypassNode.js +2 -2
- package/examples/jsm/nodes/core/ContextNode.js +2 -0
- package/examples/jsm/nodes/core/IndexNode.js +66 -0
- package/examples/jsm/nodes/core/LightingModel.js +2 -1
- package/examples/jsm/nodes/core/Node.js +12 -15
- package/examples/jsm/nodes/core/NodeBuilder.js +24 -5
- package/examples/jsm/nodes/core/PropertyNode.js +4 -0
- package/examples/jsm/nodes/core/StackNode.js +1 -1
- package/examples/jsm/nodes/core/UniformNode.js +1 -1
- package/examples/jsm/nodes/core/VarNode.js +1 -3
- package/examples/jsm/nodes/display/BlendModeNode.js +9 -9
- package/examples/jsm/nodes/display/ColorAdjustmentNode.js +7 -7
- package/examples/jsm/nodes/display/ColorSpaceNode.js +50 -49
- package/examples/jsm/nodes/display/NormalMapNode.js +3 -3
- package/examples/jsm/nodes/display/ToneMappingNode.js +8 -8
- package/examples/jsm/nodes/display/ViewportDepthNode.js +69 -0
- package/examples/jsm/nodes/display/ViewportDepthTextureNode.js +34 -0
- package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +6 -5
- package/examples/jsm/nodes/display/ViewportTextureNode.js +23 -15
- package/examples/jsm/nodes/functions/BSDF/BRDF_BlinnPhong.js +5 -5
- package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +10 -8
- package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
- package/examples/jsm/nodes/functions/BSDF/BRDF_Sheen.js +43 -0
- package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +4 -4
- package/examples/jsm/nodes/functions/BSDF/D_GGX.js +2 -2
- package/examples/jsm/nodes/functions/BSDF/EnvironmentBRDF.js +13 -0
- package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +2 -4
- package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +2 -2
- package/examples/jsm/nodes/functions/PhongLightingModel.js +7 -7
- package/examples/jsm/nodes/functions/PhysicalLightingModel.js +129 -18
- package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +2 -2
- package/examples/jsm/nodes/functions/material/getRoughness.js +3 -3
- package/examples/jsm/nodes/geometry/RangeNode.js +1 -1
- package/examples/jsm/nodes/lighting/DirectionalLightNode.js +2 -2
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +91 -62
- package/examples/jsm/nodes/lighting/LightUtils.js +2 -2
- package/examples/jsm/nodes/lighting/LightingContextNode.js +17 -15
- package/examples/jsm/nodes/lighting/PointLightNode.js +3 -3
- package/examples/jsm/nodes/lighting/SpotLightNode.js +3 -3
- package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +0 -15
- package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +0 -15
- package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +0 -10
- package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +0 -9
- package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +41 -0
- package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +1 -14
- package/examples/jsm/nodes/materials/NodeMaterial.js +79 -28
- package/examples/jsm/nodes/materials/PointsNodeMaterial.js +0 -9
- package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +0 -7
- package/examples/jsm/nodes/materialx/lib/mx_hsv.js +3 -3
- package/examples/jsm/nodes/materialx/lib/mx_noise.js +14 -14
- package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +4 -4
- package/examples/jsm/nodes/math/MathNode.js +6 -0
- 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 +24 -4
- package/examples/jsm/nodes/utils/LoopNode.js +1 -1
- package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +1 -1
- package/examples/jsm/objects/GroundProjectedSkybox.js +1 -1
- package/examples/jsm/objects/Reflector.js +1 -1
- package/examples/jsm/objects/Refractor.js +1 -1
- package/examples/jsm/objects/Sky.js +1 -1
- package/examples/jsm/objects/Water.js +1 -1
- package/examples/jsm/objects/Water2.js +1 -1
- package/examples/jsm/offscreen/scene.js +1 -0
- package/examples/jsm/postprocessing/EffectComposer.js +2 -0
- package/examples/jsm/postprocessing/OutlinePass.js +1 -3
- package/examples/jsm/postprocessing/SSAARenderPass.js +3 -12
- package/examples/jsm/postprocessing/SavePass.js +3 -1
- package/examples/jsm/postprocessing/TAARenderPass.js +14 -2
- package/examples/jsm/postprocessing/TexturePass.js +2 -1
- package/examples/jsm/postprocessing/UnrealBloomPass.js +9 -10
- package/examples/jsm/renderers/common/Backend.js +2 -0
- package/examples/jsm/renderers/common/Background.js +7 -6
- package/examples/jsm/renderers/common/Pipelines.js +26 -14
- package/examples/jsm/renderers/common/RenderObject.js +18 -0
- package/examples/jsm/renderers/common/RenderObjects.js +29 -29
- package/examples/jsm/renderers/common/Renderer.js +48 -6
- package/examples/jsm/renderers/common/nodes/Nodes.js +1 -1
- package/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +340 -0
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +23 -19
- package/examples/jsm/renderers/webgpu/WebGPUBackend.js +123 -41
- package/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +29 -9
- package/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +4 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +8 -13
- package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +85 -3
- package/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +5 -1
- package/examples/jsm/shaders/BlendShader.js +1 -2
- package/examples/jsm/shaders/BokehShader2.js +1 -1
- package/examples/jsm/shaders/CopyShader.js +2 -2
- package/examples/jsm/shaders/ToonShader.js +4 -4
- package/examples/jsm/shaders/WaterRefractionShader.js +1 -1
- package/examples/jsm/webxr/OculusHandPointerModel.js +34 -13
- package/package.json +2 -1
- package/src/Three.Legacy.js +0 -228
- package/src/animation/PropertyBinding.js +1 -1
- package/src/constants.js +1 -1
- package/src/core/BufferAttribute.js +0 -24
- package/src/core/BufferGeometry.js +0 -7
- package/src/loaders/Loader.js +2 -0
- package/src/loaders/MaterialLoader.js +1 -0
- package/src/materials/Material.js +3 -0
- package/src/objects/Skeleton.js +0 -2
- package/src/renderers/WebGLRenderer.js +9 -21
- package/src/renderers/shaders/ShaderChunk/alphahash_fragment.glsl.js +7 -0
- package/src/renderers/shaders/ShaderChunk/alphahash_pars_fragment.glsl.js +68 -0
- package/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +9 -1
- package/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk.js +10 -6
- package/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/cube.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/depth.glsl.js +2 -0
- package/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +2 -0
- package/src/renderers/shaders/ShaderLib/equirect.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +2 -2
- package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/points.glsl.js +4 -2
- package/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/sprite.glsl.js +4 -2
- package/src/renderers/webgl/WebGLObjects.js +23 -3
- package/src/renderers/webgl/WebGLProgram.js +24 -5
- package/src/renderers/webgl/WebGLPrograms.js +3 -0
- package/src/renderers/webxr/WebXRManager.js +11 -29
- package/src/scenes/Scene.js +0 -14
- package/examples/jsm/nodes/core/InstanceIndexNode.js +0 -45
- /package/src/renderers/shaders/ShaderChunk/{encodings_fragment.glsl.js → colorspace_fragment.glsl.js} +0 -0
- /package/src/renderers/shaders/ShaderChunk/{encodings_pars_fragment.glsl.js → colorspace_pars_fragment.glsl.js} +0 -0
- /package/src/renderers/shaders/ShaderChunk/{output_fragment.glsl.js → opaque_fragment.glsl.js} +0 -0
|
@@ -51,6 +51,7 @@ varying vec3 vWorldPosition;
|
|
|
51
51
|
#include <map_pars_fragment>
|
|
52
52
|
#include <alphamap_pars_fragment>
|
|
53
53
|
#include <alphatest_pars_fragment>
|
|
54
|
+
#include <alphahash_pars_fragment>
|
|
54
55
|
#include <clipping_planes_pars_fragment>
|
|
55
56
|
|
|
56
57
|
void main () {
|
|
@@ -62,6 +63,7 @@ void main () {
|
|
|
62
63
|
#include <map_fragment>
|
|
63
64
|
#include <alphamap_fragment>
|
|
64
65
|
#include <alphatest_fragment>
|
|
66
|
+
#include <alphahash_fragment>
|
|
65
67
|
|
|
66
68
|
float dist = length( vWorldPosition - referencePosition );
|
|
67
69
|
dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
|
|
@@ -65,9 +65,9 @@ void main() {
|
|
|
65
65
|
|
|
66
66
|
outgoingLight = diffuseColor.rgb; // simple shader
|
|
67
67
|
|
|
68
|
-
#include <
|
|
68
|
+
#include <opaque_fragment>
|
|
69
69
|
#include <tonemapping_fragment>
|
|
70
|
-
#include <
|
|
70
|
+
#include <colorspace_fragment>
|
|
71
71
|
#include <fog_fragment>
|
|
72
72
|
#include <premultiplied_alpha_fragment>
|
|
73
73
|
|
|
@@ -56,6 +56,7 @@ uniform float opacity;
|
|
|
56
56
|
#include <map_pars_fragment>
|
|
57
57
|
#include <alphamap_pars_fragment>
|
|
58
58
|
#include <alphatest_pars_fragment>
|
|
59
|
+
#include <alphahash_pars_fragment>
|
|
59
60
|
#include <aomap_pars_fragment>
|
|
60
61
|
#include <lightmap_pars_fragment>
|
|
61
62
|
#include <envmap_common_pars_fragment>
|
|
@@ -76,6 +77,7 @@ void main() {
|
|
|
76
77
|
#include <color_fragment>
|
|
77
78
|
#include <alphamap_fragment>
|
|
78
79
|
#include <alphatest_fragment>
|
|
80
|
+
#include <alphahash_fragment>
|
|
79
81
|
#include <specularmap_fragment>
|
|
80
82
|
|
|
81
83
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
|
|
@@ -101,9 +103,9 @@ void main() {
|
|
|
101
103
|
|
|
102
104
|
#include <envmap_fragment>
|
|
103
105
|
|
|
104
|
-
#include <
|
|
106
|
+
#include <opaque_fragment>
|
|
105
107
|
#include <tonemapping_fragment>
|
|
106
|
-
#include <
|
|
108
|
+
#include <colorspace_fragment>
|
|
107
109
|
#include <fog_fragment>
|
|
108
110
|
#include <premultiplied_alpha_fragment>
|
|
109
111
|
#include <dithering_fragment>
|
|
@@ -62,6 +62,7 @@ uniform float opacity;
|
|
|
62
62
|
#include <map_pars_fragment>
|
|
63
63
|
#include <alphamap_pars_fragment>
|
|
64
64
|
#include <alphatest_pars_fragment>
|
|
65
|
+
#include <alphahash_pars_fragment>
|
|
65
66
|
#include <aomap_pars_fragment>
|
|
66
67
|
#include <lightmap_pars_fragment>
|
|
67
68
|
#include <emissivemap_pars_fragment>
|
|
@@ -92,6 +93,7 @@ void main() {
|
|
|
92
93
|
#include <color_fragment>
|
|
93
94
|
#include <alphamap_fragment>
|
|
94
95
|
#include <alphatest_fragment>
|
|
96
|
+
#include <alphahash_fragment>
|
|
95
97
|
#include <specularmap_fragment>
|
|
96
98
|
#include <normal_fragment_begin>
|
|
97
99
|
#include <normal_fragment_maps>
|
|
@@ -109,9 +111,9 @@ void main() {
|
|
|
109
111
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
|
|
110
112
|
|
|
111
113
|
#include <envmap_fragment>
|
|
112
|
-
#include <
|
|
114
|
+
#include <opaque_fragment>
|
|
113
115
|
#include <tonemapping_fragment>
|
|
114
|
-
#include <
|
|
116
|
+
#include <colorspace_fragment>
|
|
115
117
|
#include <fog_fragment>
|
|
116
118
|
#include <premultiplied_alpha_fragment>
|
|
117
119
|
#include <dithering_fragment>
|
|
@@ -58,6 +58,7 @@ varying vec3 vViewPosition;
|
|
|
58
58
|
#include <map_pars_fragment>
|
|
59
59
|
#include <alphamap_pars_fragment>
|
|
60
60
|
#include <alphatest_pars_fragment>
|
|
61
|
+
#include <alphahash_pars_fragment>
|
|
61
62
|
#include <fog_pars_fragment>
|
|
62
63
|
#include <normal_pars_fragment>
|
|
63
64
|
#include <bumpmap_pars_fragment>
|
|
@@ -76,6 +77,7 @@ void main() {
|
|
|
76
77
|
#include <color_fragment>
|
|
77
78
|
#include <alphamap_fragment>
|
|
78
79
|
#include <alphatest_fragment>
|
|
80
|
+
#include <alphahash_fragment>
|
|
79
81
|
#include <normal_fragment_begin>
|
|
80
82
|
#include <normal_fragment_maps>
|
|
81
83
|
|
|
@@ -96,9 +98,9 @@ void main() {
|
|
|
96
98
|
|
|
97
99
|
vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;
|
|
98
100
|
|
|
99
|
-
#include <
|
|
101
|
+
#include <opaque_fragment>
|
|
100
102
|
#include <tonemapping_fragment>
|
|
101
|
-
#include <
|
|
103
|
+
#include <colorspace_fragment>
|
|
102
104
|
#include <fog_fragment>
|
|
103
105
|
#include <premultiplied_alpha_fragment>
|
|
104
106
|
#include <dithering_fragment>
|
|
@@ -64,6 +64,7 @@ uniform float opacity;
|
|
|
64
64
|
#include <map_pars_fragment>
|
|
65
65
|
#include <alphamap_pars_fragment>
|
|
66
66
|
#include <alphatest_pars_fragment>
|
|
67
|
+
#include <alphahash_pars_fragment>
|
|
67
68
|
#include <aomap_pars_fragment>
|
|
68
69
|
#include <lightmap_pars_fragment>
|
|
69
70
|
#include <emissivemap_pars_fragment>
|
|
@@ -94,6 +95,7 @@ void main() {
|
|
|
94
95
|
#include <color_fragment>
|
|
95
96
|
#include <alphamap_fragment>
|
|
96
97
|
#include <alphatest_fragment>
|
|
98
|
+
#include <alphahash_fragment>
|
|
97
99
|
#include <specularmap_fragment>
|
|
98
100
|
#include <normal_fragment_begin>
|
|
99
101
|
#include <normal_fragment_maps>
|
|
@@ -111,9 +113,9 @@ void main() {
|
|
|
111
113
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
|
|
112
114
|
|
|
113
115
|
#include <envmap_fragment>
|
|
114
|
-
#include <
|
|
116
|
+
#include <opaque_fragment>
|
|
115
117
|
#include <tonemapping_fragment>
|
|
116
|
-
#include <
|
|
118
|
+
#include <colorspace_fragment>
|
|
117
119
|
#include <fog_fragment>
|
|
118
120
|
#include <premultiplied_alpha_fragment>
|
|
119
121
|
#include <dithering_fragment>
|
|
@@ -130,6 +130,7 @@ varying vec3 vViewPosition;
|
|
|
130
130
|
#include <map_pars_fragment>
|
|
131
131
|
#include <alphamap_pars_fragment>
|
|
132
132
|
#include <alphatest_pars_fragment>
|
|
133
|
+
#include <alphahash_pars_fragment>
|
|
133
134
|
#include <aomap_pars_fragment>
|
|
134
135
|
#include <lightmap_pars_fragment>
|
|
135
136
|
#include <emissivemap_pars_fragment>
|
|
@@ -165,6 +166,7 @@ void main() {
|
|
|
165
166
|
#include <color_fragment>
|
|
166
167
|
#include <alphamap_fragment>
|
|
167
168
|
#include <alphatest_fragment>
|
|
169
|
+
#include <alphahash_fragment>
|
|
168
170
|
#include <roughnessmap_fragment>
|
|
169
171
|
#include <metalnessmap_fragment>
|
|
170
172
|
#include <normal_fragment_begin>
|
|
@@ -209,9 +211,9 @@ void main() {
|
|
|
209
211
|
|
|
210
212
|
#endif
|
|
211
213
|
|
|
212
|
-
#include <
|
|
214
|
+
#include <opaque_fragment>
|
|
213
215
|
#include <tonemapping_fragment>
|
|
214
|
-
#include <
|
|
216
|
+
#include <colorspace_fragment>
|
|
215
217
|
#include <fog_fragment>
|
|
216
218
|
#include <premultiplied_alpha_fragment>
|
|
217
219
|
#include <dithering_fragment>
|
|
@@ -60,6 +60,7 @@ uniform float opacity;
|
|
|
60
60
|
#include <map_pars_fragment>
|
|
61
61
|
#include <alphamap_pars_fragment>
|
|
62
62
|
#include <alphatest_pars_fragment>
|
|
63
|
+
#include <alphahash_pars_fragment>
|
|
63
64
|
#include <aomap_pars_fragment>
|
|
64
65
|
#include <lightmap_pars_fragment>
|
|
65
66
|
#include <emissivemap_pars_fragment>
|
|
@@ -88,6 +89,7 @@ void main() {
|
|
|
88
89
|
#include <color_fragment>
|
|
89
90
|
#include <alphamap_fragment>
|
|
90
91
|
#include <alphatest_fragment>
|
|
92
|
+
#include <alphahash_fragment>
|
|
91
93
|
#include <normal_fragment_begin>
|
|
92
94
|
#include <normal_fragment_maps>
|
|
93
95
|
#include <emissivemap_fragment>
|
|
@@ -103,9 +105,9 @@ void main() {
|
|
|
103
105
|
|
|
104
106
|
vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
|
|
105
107
|
|
|
106
|
-
#include <
|
|
108
|
+
#include <opaque_fragment>
|
|
107
109
|
#include <tonemapping_fragment>
|
|
108
|
-
#include <
|
|
110
|
+
#include <colorspace_fragment>
|
|
109
111
|
#include <fog_fragment>
|
|
110
112
|
#include <premultiplied_alpha_fragment>
|
|
111
113
|
#include <dithering_fragment>
|
|
@@ -56,6 +56,7 @@ uniform float opacity;
|
|
|
56
56
|
#include <color_pars_fragment>
|
|
57
57
|
#include <map_particle_pars_fragment>
|
|
58
58
|
#include <alphatest_pars_fragment>
|
|
59
|
+
#include <alphahash_pars_fragment>
|
|
59
60
|
#include <fog_pars_fragment>
|
|
60
61
|
#include <logdepthbuf_pars_fragment>
|
|
61
62
|
#include <clipping_planes_pars_fragment>
|
|
@@ -71,12 +72,13 @@ void main() {
|
|
|
71
72
|
#include <map_particle_fragment>
|
|
72
73
|
#include <color_fragment>
|
|
73
74
|
#include <alphatest_fragment>
|
|
75
|
+
#include <alphahash_fragment>
|
|
74
76
|
|
|
75
77
|
outgoingLight = diffuseColor.rgb;
|
|
76
78
|
|
|
77
|
-
#include <
|
|
79
|
+
#include <opaque_fragment>
|
|
78
80
|
#include <tonemapping_fragment>
|
|
79
|
-
#include <
|
|
81
|
+
#include <colorspace_fragment>
|
|
80
82
|
#include <fog_fragment>
|
|
81
83
|
#include <premultiplied_alpha_fragment>
|
|
82
84
|
|
|
@@ -52,6 +52,7 @@ uniform float opacity;
|
|
|
52
52
|
#include <map_pars_fragment>
|
|
53
53
|
#include <alphamap_pars_fragment>
|
|
54
54
|
#include <alphatest_pars_fragment>
|
|
55
|
+
#include <alphahash_pars_fragment>
|
|
55
56
|
#include <fog_pars_fragment>
|
|
56
57
|
#include <logdepthbuf_pars_fragment>
|
|
57
58
|
#include <clipping_planes_pars_fragment>
|
|
@@ -67,12 +68,13 @@ void main() {
|
|
|
67
68
|
#include <map_fragment>
|
|
68
69
|
#include <alphamap_fragment>
|
|
69
70
|
#include <alphatest_fragment>
|
|
71
|
+
#include <alphahash_fragment>
|
|
70
72
|
|
|
71
73
|
outgoingLight = diffuseColor.rgb;
|
|
72
74
|
|
|
73
|
-
#include <
|
|
75
|
+
#include <opaque_fragment>
|
|
74
76
|
#include <tonemapping_fragment>
|
|
75
|
-
#include <
|
|
77
|
+
#include <colorspace_fragment>
|
|
76
78
|
#include <fog_fragment>
|
|
77
79
|
|
|
78
80
|
}
|
|
@@ -27,11 +27,31 @@ function WebGLObjects( gl, geometries, attributes, info ) {
|
|
|
27
27
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
if ( updateMap.get( object ) !== frame ) {
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
attributes.update( object.instanceMatrix, gl.ARRAY_BUFFER );
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
if ( object.instanceColor !== null ) {
|
|
35
|
+
|
|
36
|
+
attributes.update( object.instanceColor, gl.ARRAY_BUFFER );
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
updateMap.set( object, frame );
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if ( object.isSkinnedMesh ) {
|
|
47
|
+
|
|
48
|
+
const skeleton = object.skeleton;
|
|
49
|
+
|
|
50
|
+
if ( updateMap.get( skeleton ) !== frame ) {
|
|
51
|
+
|
|
52
|
+
skeleton.update();
|
|
53
|
+
|
|
54
|
+
updateMap.set( skeleton, frame );
|
|
35
55
|
|
|
36
56
|
}
|
|
37
57
|
|
|
@@ -211,13 +211,30 @@ function resolveIncludes( string ) {
|
|
|
211
211
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
const shaderChunkMap = new Map( [
|
|
215
|
+
[ 'encodings_fragment', 'colorspace_fragment' ], // @deprecated, r154
|
|
216
|
+
[ 'encodings_pars_fragment', 'colorspace_pars_fragment' ], // @deprecated, r154
|
|
217
|
+
[ 'output_fragment', 'opaque_fragment' ], // @deprecated, r154
|
|
218
|
+
] );
|
|
219
|
+
|
|
214
220
|
function includeReplacer( match, include ) {
|
|
215
221
|
|
|
216
|
-
|
|
222
|
+
let string = ShaderChunk[ include ];
|
|
217
223
|
|
|
218
224
|
if ( string === undefined ) {
|
|
219
225
|
|
|
220
|
-
|
|
226
|
+
const newInclude = shaderChunkMap.get( include );
|
|
227
|
+
|
|
228
|
+
if ( newInclude !== undefined ) {
|
|
229
|
+
|
|
230
|
+
string = ShaderChunk[ newInclude ];
|
|
231
|
+
console.warn( 'THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.', include, newInclude );
|
|
232
|
+
|
|
233
|
+
} else {
|
|
234
|
+
|
|
235
|
+
throw new Error( 'Can not resolve #include <' + include + '>' );
|
|
236
|
+
|
|
237
|
+
}
|
|
221
238
|
|
|
222
239
|
}
|
|
223
240
|
|
|
@@ -493,6 +510,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
493
510
|
parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
|
|
494
511
|
parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
|
|
495
512
|
parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
|
|
513
|
+
parameters.alphaHash ? '#define USE_ALPHAHASH' : '',
|
|
496
514
|
|
|
497
515
|
parameters.transmission ? '#define USE_TRANSMISSION' : '',
|
|
498
516
|
parameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',
|
|
@@ -536,7 +554,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
536
554
|
|
|
537
555
|
//
|
|
538
556
|
|
|
539
|
-
parameters.vertexTangents ? '#define USE_TANGENT' : '',
|
|
557
|
+
parameters.vertexTangents && parameters.flatShading === false ? '#define USE_TANGENT' : '',
|
|
540
558
|
parameters.vertexColors ? '#define USE_COLOR' : '',
|
|
541
559
|
parameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '',
|
|
542
560
|
parameters.vertexUv1s ? '#define USE_UV1' : '',
|
|
@@ -714,6 +732,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
714
732
|
|
|
715
733
|
parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
|
|
716
734
|
parameters.alphaTest ? '#define USE_ALPHATEST' : '',
|
|
735
|
+
parameters.alphaHash ? '#define USE_ALPHAHASH' : '',
|
|
717
736
|
|
|
718
737
|
parameters.sheen ? '#define USE_SHEEN' : '',
|
|
719
738
|
parameters.sheenColorMap ? '#define USE_SHEEN_COLORMAP' : '',
|
|
@@ -723,7 +742,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
723
742
|
parameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '',
|
|
724
743
|
parameters.thicknessMap ? '#define USE_THICKNESSMAP' : '',
|
|
725
744
|
|
|
726
|
-
parameters.vertexTangents ? '#define USE_TANGENT' : '',
|
|
745
|
+
parameters.vertexTangents && parameters.flatShading === false ? '#define USE_TANGENT' : '',
|
|
727
746
|
parameters.vertexColors || parameters.instancingColor ? '#define USE_COLOR' : '',
|
|
728
747
|
parameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '',
|
|
729
748
|
parameters.vertexUv1s ? '#define USE_UV1' : '',
|
|
@@ -760,7 +779,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
760
779
|
parameters.dithering ? '#define DITHERING' : '',
|
|
761
780
|
parameters.opaque ? '#define OPAQUE' : '',
|
|
762
781
|
|
|
763
|
-
ShaderChunk[ '
|
|
782
|
+
ShaderChunk[ 'colorspace_pars_fragment' ], // this code is required here because it is used by the various encoding/decoding function defined below
|
|
764
783
|
getTexelEncodingFunction( 'linearToOutputTexel', parameters.outputColorSpace ),
|
|
765
784
|
|
|
766
785
|
parameters.useDepthPacking ? '#define DEPTH_PACKING ' + parameters.depthPacking : '',
|
|
@@ -152,6 +152,8 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
152
152
|
|
|
153
153
|
const HAS_ALPHATEST = material.alphaTest > 0;
|
|
154
154
|
|
|
155
|
+
const HAS_ALPHAHASH = !! material.alphaHash;
|
|
156
|
+
|
|
155
157
|
const HAS_EXTENSIONS = !! material.extensions;
|
|
156
158
|
|
|
157
159
|
const HAS_ATTRIBUTE_UV1 = !! geometry.attributes.uv1;
|
|
@@ -232,6 +234,7 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
232
234
|
|
|
233
235
|
alphaMap: HAS_ALPHAMAP,
|
|
234
236
|
alphaTest: HAS_ALPHATEST,
|
|
237
|
+
alphaHash: HAS_ALPHAHASH,
|
|
235
238
|
|
|
236
239
|
combine: material.combine,
|
|
237
240
|
|
|
@@ -42,8 +42,6 @@ class WebXRManager extends EventDispatcher {
|
|
|
42
42
|
|
|
43
43
|
//
|
|
44
44
|
|
|
45
|
-
let userCamera = null;
|
|
46
|
-
|
|
47
45
|
const cameraL = new PerspectiveCamera();
|
|
48
46
|
cameraL.layers.enable( 1 );
|
|
49
47
|
cameraL.viewport = new Vector4();
|
|
@@ -63,19 +61,11 @@ class WebXRManager extends EventDispatcher {
|
|
|
63
61
|
|
|
64
62
|
//
|
|
65
63
|
|
|
66
|
-
this.cameraAutoUpdate = true;
|
|
64
|
+
this.cameraAutoUpdate = true;
|
|
67
65
|
this.enabled = false;
|
|
68
66
|
|
|
69
67
|
this.isPresenting = false;
|
|
70
68
|
|
|
71
|
-
this.getCamera = function () {}; // @deprecated, r153
|
|
72
|
-
|
|
73
|
-
this.setUserCamera = function ( value ) {
|
|
74
|
-
|
|
75
|
-
userCamera = value;
|
|
76
|
-
|
|
77
|
-
};
|
|
78
|
-
|
|
79
69
|
this.getController = function ( index ) {
|
|
80
70
|
|
|
81
71
|
let controller = controllers[ index ];
|
|
@@ -512,15 +502,9 @@ class WebXRManager extends EventDispatcher {
|
|
|
512
502
|
|
|
513
503
|
}
|
|
514
504
|
|
|
515
|
-
this.
|
|
505
|
+
this.updateCamera = function ( camera ) {
|
|
516
506
|
|
|
517
|
-
if ( session === null ) return
|
|
518
|
-
|
|
519
|
-
if ( userCamera ) {
|
|
520
|
-
|
|
521
|
-
camera = userCamera;
|
|
522
|
-
|
|
523
|
-
}
|
|
507
|
+
if ( session === null ) return;
|
|
524
508
|
|
|
525
509
|
cameraXR.near = cameraR.near = cameraL.near = camera.near;
|
|
526
510
|
cameraXR.far = cameraR.far = cameraL.far = camera.far;
|
|
@@ -566,19 +550,11 @@ class WebXRManager extends EventDispatcher {
|
|
|
566
550
|
|
|
567
551
|
// update user camera and its children
|
|
568
552
|
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
updateUserCamera( cameraXR, parent );
|
|
572
|
-
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
return cameraXR;
|
|
553
|
+
updateUserCamera( camera, cameraXR, parent );
|
|
576
554
|
|
|
577
555
|
};
|
|
578
556
|
|
|
579
|
-
function updateUserCamera( cameraXR, parent ) {
|
|
580
|
-
|
|
581
|
-
const camera = userCamera;
|
|
557
|
+
function updateUserCamera( camera, cameraXR, parent ) {
|
|
582
558
|
|
|
583
559
|
if ( parent === null ) {
|
|
584
560
|
|
|
@@ -615,6 +591,12 @@ class WebXRManager extends EventDispatcher {
|
|
|
615
591
|
|
|
616
592
|
}
|
|
617
593
|
|
|
594
|
+
this.getCamera = function () {
|
|
595
|
+
|
|
596
|
+
return cameraXR;
|
|
597
|
+
|
|
598
|
+
};
|
|
599
|
+
|
|
618
600
|
this.getFoveation = function () {
|
|
619
601
|
|
|
620
602
|
if ( glProjLayer === null && glBaseLayer === null ) {
|
package/src/scenes/Scene.js
CHANGED
|
@@ -58,20 +58,6 @@ class Scene extends Object3D {
|
|
|
58
58
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
get autoUpdate() { // @deprecated, r144
|
|
62
|
-
|
|
63
|
-
console.warn( 'THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144.' );
|
|
64
|
-
return this.matrixWorldAutoUpdate;
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
set autoUpdate( value ) { // @deprecated, r144
|
|
69
|
-
|
|
70
|
-
console.warn( 'THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144.' );
|
|
71
|
-
this.matrixWorldAutoUpdate = value;
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
61
|
}
|
|
76
62
|
|
|
77
63
|
export { Scene };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import Node, { addNodeClass } from './Node.js';
|
|
2
|
-
import { varying } from '../core/VaryingNode.js';
|
|
3
|
-
import { nodeImmutable } from '../shadernode/ShaderNode.js';
|
|
4
|
-
|
|
5
|
-
class InstanceIndexNode extends Node {
|
|
6
|
-
|
|
7
|
-
constructor() {
|
|
8
|
-
|
|
9
|
-
super( 'uint' );
|
|
10
|
-
|
|
11
|
-
this.isInstanceIndexNode = true;
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
generate( builder ) {
|
|
16
|
-
|
|
17
|
-
const nodeType = this.getNodeType( builder );
|
|
18
|
-
|
|
19
|
-
const propertyName = builder.getInstanceIndex();
|
|
20
|
-
|
|
21
|
-
let output = null;
|
|
22
|
-
|
|
23
|
-
if ( builder.shaderStage === 'vertex' || builder.shaderStage === 'compute' ) {
|
|
24
|
-
|
|
25
|
-
output = propertyName;
|
|
26
|
-
|
|
27
|
-
} else {
|
|
28
|
-
|
|
29
|
-
const nodeVarying = varying( this );
|
|
30
|
-
|
|
31
|
-
output = nodeVarying.build( builder, nodeType );
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return output;
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export default InstanceIndexNode;
|
|
42
|
-
|
|
43
|
-
export const instanceIndex = nodeImmutable( InstanceIndexNode );
|
|
44
|
-
|
|
45
|
-
addNodeClass( InstanceIndexNode );
|
|
File without changes
|
|
File without changes
|
/package/src/renderers/shaders/ShaderChunk/{output_fragment.glsl.js → opaque_fragment.glsl.js}
RENAMED
|
File without changes
|