three-stdlib 2.24.0 → 2.24.2
Sign up to get free protection for your applications and to get access to all the features.
- package/effects/AnaglyphEffect.cjs +1 -1
- package/effects/AnaglyphEffect.js +2 -2
- package/effects/OutlineEffect.cjs +1 -1
- package/effects/OutlineEffect.js +2 -2
- package/effects/ParallaxBarrierEffect.cjs +1 -1
- package/effects/ParallaxBarrierEffect.js +2 -2
- package/lines/LineMaterial.cjs +1 -1
- package/lines/LineMaterial.js +2 -2
- package/loaders/LDrawLoader.cjs +1 -1
- package/loaders/LDrawLoader.js +2 -2
- package/objects/GroundProjectedEnv.cjs +1 -1
- package/objects/GroundProjectedEnv.js +2 -2
- package/objects/Reflector.cjs +1 -1
- package/objects/Reflector.js +2 -2
- package/objects/Refractor.cjs +1 -1
- package/objects/Refractor.js +2 -2
- package/objects/Sky.cjs +1 -1
- package/objects/Sky.js +2 -2
- package/objects/Water.cjs +1 -1
- package/objects/Water.js +2 -2
- package/objects/Water2.cjs +1 -1
- package/objects/Water2.js +2 -2
- package/package.json +1 -1
- package/postprocessing/EffectComposer.cjs +1 -0
- package/postprocessing/EffectComposer.js +2 -1
- package/postprocessing/SSAARenderPass.cjs +2 -7
- package/postprocessing/SSAARenderPass.js +3 -8
- package/postprocessing/SavePass.cjs +2 -1
- package/postprocessing/SavePass.js +3 -2
- package/postprocessing/TAARenderPass.cjs +9 -3
- package/postprocessing/TAARenderPass.js +9 -3
- package/postprocessing/TexturePass.cjs +2 -1
- package/postprocessing/TexturePass.js +2 -1
- package/utils/GeometryCompressionUtils.cjs +1 -1
- package/utils/GeometryCompressionUtils.js +2 -2
@@ -62,7 +62,7 @@ class AnaglyphEffect {
|
|
62
62
|
" color.r, color.g, color.b,",
|
63
63
|
" max( colorL.a, colorR.a ) );",
|
64
64
|
" #include <tonemapping_fragment>",
|
65
|
-
|
65
|
+
` #include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>`,
|
66
66
|
"}"
|
67
67
|
].join("\n")
|
68
68
|
});
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Matrix3, OrthographicCamera, Scene, StereoCamera, LinearFilter, NearestFilter, RGBAFormat, WebGLRenderTarget, ShaderMaterial, Mesh, PlaneGeometry } from "three";
|
1
|
+
import { Matrix3, OrthographicCamera, Scene, StereoCamera, LinearFilter, NearestFilter, RGBAFormat, WebGLRenderTarget, ShaderMaterial, REVISION, Mesh, PlaneGeometry } from "three";
|
2
2
|
class AnaglyphEffect {
|
3
3
|
constructor(renderer, width = 512, height = 512) {
|
4
4
|
this.colorMatrixLeft = new Matrix3().fromArray([
|
@@ -60,7 +60,7 @@ class AnaglyphEffect {
|
|
60
60
|
" color.r, color.g, color.b,",
|
61
61
|
" max( colorL.a, colorR.a ) );",
|
62
62
|
" #include <tonemapping_fragment>",
|
63
|
-
|
63
|
+
` #include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>`,
|
64
64
|
"}"
|
65
65
|
].join("\n")
|
66
66
|
});
|
@@ -69,7 +69,7 @@ class OutlineEffect {
|
|
69
69
|
" #include <logdepthbuf_fragment>",
|
70
70
|
" gl_FragColor = vec4( outlineColor, outlineAlpha );",
|
71
71
|
" #include <tonemapping_fragment>",
|
72
|
-
|
72
|
+
` #include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>`,
|
73
73
|
" #include <fog_fragment>",
|
74
74
|
" #include <premultiplied_alpha_fragment>",
|
75
75
|
"}"
|
package/effects/OutlineEffect.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Color, ShaderMaterial, UniformsUtils, UniformsLib, BackSide } from "three";
|
1
|
+
import { Color, REVISION, ShaderMaterial, UniformsUtils, UniformsLib, BackSide } from "three";
|
2
2
|
class OutlineEffect {
|
3
3
|
constructor(renderer, parameters = {}) {
|
4
4
|
this.enabled = true;
|
@@ -67,7 +67,7 @@ class OutlineEffect {
|
|
67
67
|
" #include <logdepthbuf_fragment>",
|
68
68
|
" gl_FragColor = vec4( outlineColor, outlineAlpha );",
|
69
69
|
" #include <tonemapping_fragment>",
|
70
|
-
|
70
|
+
` #include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>`,
|
71
71
|
" #include <fog_fragment>",
|
72
72
|
" #include <premultiplied_alpha_fragment>",
|
73
73
|
"}"
|
@@ -33,7 +33,7 @@ class ParallaxBarrierEffect {
|
|
33
33
|
" gl_FragColor = texture2D( mapRight, uv );",
|
34
34
|
" }",
|
35
35
|
" #include <tonemapping_fragment>",
|
36
|
-
|
36
|
+
` #include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>`,
|
37
37
|
"}"
|
38
38
|
].join("\n")
|
39
39
|
});
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { OrthographicCamera, Scene, StereoCamera, LinearFilter, NearestFilter, RGBAFormat, WebGLRenderTarget, ShaderMaterial, Mesh, PlaneGeometry } from "three";
|
1
|
+
import { OrthographicCamera, Scene, StereoCamera, LinearFilter, NearestFilter, RGBAFormat, WebGLRenderTarget, ShaderMaterial, REVISION, Mesh, PlaneGeometry } from "three";
|
2
2
|
class ParallaxBarrierEffect {
|
3
3
|
constructor(renderer) {
|
4
4
|
const _camera = new OrthographicCamera(-1, 1, 1, -1, 0, 1);
|
@@ -31,7 +31,7 @@ class ParallaxBarrierEffect {
|
|
31
31
|
" gl_FragColor = texture2D( mapRight, uv );",
|
32
32
|
" }",
|
33
33
|
" #include <tonemapping_fragment>",
|
34
|
-
|
34
|
+
` #include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>`,
|
35
35
|
"}"
|
36
36
|
].join("\n")
|
37
37
|
});
|
package/lines/LineMaterial.cjs
CHANGED
@@ -409,7 +409,7 @@ class LineMaterial extends THREE.ShaderMaterial {
|
|
409
409
|
gl_FragColor = vec4( diffuseColor.rgb, alpha );
|
410
410
|
|
411
411
|
#include <tonemapping_fragment>
|
412
|
-
#include
|
412
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
413
413
|
#include <fog_fragment>
|
414
414
|
#include <premultiplied_alpha_fragment>
|
415
415
|
|
package/lines/LineMaterial.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ShaderMaterial, UniformsUtils, UniformsLib, Vector2 } from "three";
|
1
|
+
import { ShaderMaterial, UniformsUtils, UniformsLib, Vector2, REVISION } from "three";
|
2
2
|
class LineMaterial extends ShaderMaterial {
|
3
3
|
constructor(parameters) {
|
4
4
|
super({
|
@@ -407,7 +407,7 @@ class LineMaterial extends ShaderMaterial {
|
|
407
407
|
gl_FragColor = vec4( diffuseColor.rgb, alpha );
|
408
408
|
|
409
409
|
#include <tonemapping_fragment>
|
410
|
-
#include
|
410
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
411
411
|
#include <fog_fragment>
|
412
412
|
#include <premultiplied_alpha_fragment>
|
413
413
|
|
package/loaders/LDrawLoader.cjs
CHANGED
@@ -107,7 +107,7 @@ class LDrawConditionalLineMaterial extends THREE.ShaderMaterial {
|
|
107
107
|
outgoingLight = diffuseColor.rgb; // simple shader
|
108
108
|
gl_FragColor = vec4(outgoingLight, diffuseColor.a);
|
109
109
|
#include <tonemapping_fragment>
|
110
|
-
#include
|
110
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
111
111
|
#include <fog_fragment>
|
112
112
|
#include <premultiplied_alpha_fragment>
|
113
113
|
}
|
package/loaders/LDrawLoader.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Vector3, ShaderMaterial, UniformsUtils, UniformsLib, Color, LineSegments, Ray, FileLoader, Matrix4, Group, BufferGeometry, BufferAttribute, Mesh, Loader, MeshStandardMaterial, LineBasicMaterial } from "three";
|
1
|
+
import { Vector3, ShaderMaterial, UniformsUtils, UniformsLib, Color, REVISION, LineSegments, Ray, FileLoader, Matrix4, Group, BufferGeometry, BufferAttribute, Mesh, Loader, MeshStandardMaterial, LineBasicMaterial } from "three";
|
2
2
|
const FINISH_TYPE_DEFAULT = 0;
|
3
3
|
const FINISH_TYPE_CHROME = 1;
|
4
4
|
const FINISH_TYPE_PEARLESCENT = 2;
|
@@ -105,7 +105,7 @@ class LDrawConditionalLineMaterial extends ShaderMaterial {
|
|
105
105
|
outgoingLight = diffuseColor.rgb; // simple shader
|
106
106
|
gl_FragColor = vec4(outgoingLight, diffuseColor.a);
|
107
107
|
#include <tonemapping_fragment>
|
108
|
-
#include
|
108
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
109
109
|
#include <fog_fragment>
|
110
110
|
#include <premultiplied_alpha_fragment>
|
111
111
|
}
|
@@ -101,7 +101,7 @@ class GroundProjectedEnv extends THREE.Mesh {
|
|
101
101
|
#endif
|
102
102
|
gl_FragColor = vec4( outcolor, 1.0 );
|
103
103
|
#include <tonemapping_fragment>
|
104
|
-
#include
|
104
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
105
105
|
}
|
106
106
|
`;
|
107
107
|
const uniforms = {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Mesh, IcosahedronGeometry, ShaderMaterial, DoubleSide } from "three";
|
1
|
+
import { Mesh, REVISION, IcosahedronGeometry, ShaderMaterial, DoubleSide } from "three";
|
2
2
|
const isCubeTexture = (def) => def && def.isCubeTexture;
|
3
3
|
class GroundProjectedEnv extends Mesh {
|
4
4
|
constructor(texture, options) {
|
@@ -99,7 +99,7 @@ class GroundProjectedEnv extends Mesh {
|
|
99
99
|
#endif
|
100
100
|
gl_FragColor = vec4( outcolor, 1.0 );
|
101
101
|
#include <tonemapping_fragment>
|
102
|
-
#include
|
102
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
103
103
|
}
|
104
104
|
`;
|
105
105
|
const uniforms = {
|
package/objects/Reflector.cjs
CHANGED
@@ -194,7 +194,7 @@ __publicField(Reflector, "ReflectorShader", {
|
|
194
194
|
gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
|
195
195
|
|
196
196
|
#include <tonemapping_fragment>
|
197
|
-
#include
|
197
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
198
198
|
|
199
199
|
}`
|
200
200
|
)
|
package/objects/Reflector.js
CHANGED
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
5
|
return value;
|
6
6
|
};
|
7
|
-
import { Mesh, PerspectiveCamera, Color, Plane, Vector3, Matrix4, Vector4, WebGLRenderTarget, HalfFloatType, ShaderMaterial, UniformsUtils, NoToneMapping } from "three";
|
7
|
+
import { Mesh, REVISION, PerspectiveCamera, Color, Plane, Vector3, Matrix4, Vector4, WebGLRenderTarget, HalfFloatType, ShaderMaterial, UniformsUtils, NoToneMapping } from "three";
|
8
8
|
const _Reflector = class extends Mesh {
|
9
9
|
constructor(geometry, options = {}) {
|
10
10
|
super(geometry);
|
@@ -192,7 +192,7 @@ __publicField(Reflector, "ReflectorShader", {
|
|
192
192
|
gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
|
193
193
|
|
194
194
|
#include <tonemapping_fragment>
|
195
|
-
#include
|
195
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
196
196
|
|
197
197
|
}`
|
198
198
|
)
|
package/objects/Refractor.cjs
CHANGED
@@ -207,7 +207,7 @@ __publicField(Refractor, "RefractorShader", {
|
|
207
207
|
gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
|
208
208
|
|
209
209
|
#include <tonemapping_fragment>
|
210
|
-
#include
|
210
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
211
211
|
|
212
212
|
}`
|
213
213
|
)
|
package/objects/Refractor.js
CHANGED
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
5
|
return value;
|
6
6
|
};
|
7
|
-
import { Mesh, PerspectiveCamera, Color, Plane, Matrix4, WebGLRenderTarget, HalfFloatType, ShaderMaterial, UniformsUtils, Vector3, Quaternion, Vector4, NoToneMapping } from "three";
|
7
|
+
import { Mesh, REVISION, PerspectiveCamera, Color, Plane, Matrix4, WebGLRenderTarget, HalfFloatType, ShaderMaterial, UniformsUtils, Vector3, Quaternion, Vector4, NoToneMapping } from "three";
|
8
8
|
const _Refractor = class extends Mesh {
|
9
9
|
constructor(geometry, options = {}) {
|
10
10
|
super(geometry);
|
@@ -205,7 +205,7 @@ __publicField(Refractor, "RefractorShader", {
|
|
205
205
|
gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );
|
206
206
|
|
207
207
|
#include <tonemapping_fragment>
|
208
|
-
#include
|
208
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
209
209
|
|
210
210
|
}`
|
211
211
|
)
|
package/objects/Sky.cjs
CHANGED
@@ -176,7 +176,7 @@ const SkyShader = {
|
|
176
176
|
gl_FragColor = vec4( retColor, 1.0 );
|
177
177
|
|
178
178
|
#include <tonemapping_fragment>
|
179
|
-
#include
|
179
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
180
180
|
|
181
181
|
}
|
182
182
|
`
|
package/objects/Sky.js
CHANGED
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
5
|
return value;
|
6
6
|
};
|
7
|
-
import { Vector3, ShaderMaterial, UniformsUtils, BackSide, Mesh, BoxGeometry } from "three";
|
7
|
+
import { Vector3, REVISION, ShaderMaterial, UniformsUtils, BackSide, Mesh, BoxGeometry } from "three";
|
8
8
|
const SkyShader = {
|
9
9
|
uniforms: {
|
10
10
|
turbidity: { value: 2 },
|
@@ -174,7 +174,7 @@ const SkyShader = {
|
|
174
174
|
gl_FragColor = vec4( retColor, 1.0 );
|
175
175
|
|
176
176
|
#include <tonemapping_fragment>
|
177
|
-
#include
|
177
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
178
178
|
|
179
179
|
}
|
180
180
|
`
|
package/objects/Water.cjs
CHANGED
@@ -150,7 +150,7 @@ class Water extends THREE.Mesh {
|
|
150
150
|
gl_FragColor = vec4( outgoingLight, alpha );
|
151
151
|
|
152
152
|
#include <tonemapping_fragment>
|
153
|
-
#include
|
153
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
154
154
|
#include <fog_fragment>
|
155
155
|
}`
|
156
156
|
)
|
package/objects/Water.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Mesh, Vector3, Color, FrontSide, Plane, Matrix4, Vector4, PerspectiveCamera, WebGLRenderTarget, UniformsUtils, UniformsLib, ShaderMaterial } from "three";
|
1
|
+
import { Mesh, Vector3, Color, FrontSide, Plane, Matrix4, Vector4, PerspectiveCamera, WebGLRenderTarget, UniformsUtils, UniformsLib, REVISION, ShaderMaterial } from "three";
|
2
2
|
class Water extends Mesh {
|
3
3
|
constructor(geometry, options = {}) {
|
4
4
|
super(geometry);
|
@@ -148,7 +148,7 @@ class Water extends Mesh {
|
|
148
148
|
gl_FragColor = vec4( outgoingLight, alpha );
|
149
149
|
|
150
150
|
#include <tonemapping_fragment>
|
151
|
-
#include
|
151
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
152
152
|
#include <fog_fragment>
|
153
153
|
}`
|
154
154
|
)
|
package/objects/Water2.cjs
CHANGED
@@ -247,7 +247,7 @@ __publicField(Water2, "WaterShader", {
|
|
247
247
|
gl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );
|
248
248
|
|
249
249
|
#include <tonemapping_fragment>
|
250
|
-
#include
|
250
|
+
#include <${parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
251
251
|
#include <fog_fragment>
|
252
252
|
|
253
253
|
}`
|
package/objects/Water2.js
CHANGED
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
5
|
return value;
|
6
6
|
};
|
7
|
-
import { Mesh, Vector4, Color, Vector2, Matrix4, Clock, ShaderMaterial, UniformsUtils, UniformsLib, RepeatWrapping } from "three";
|
7
|
+
import { Mesh, Vector4, REVISION, Color, Vector2, Matrix4, Clock, ShaderMaterial, UniformsUtils, UniformsLib, RepeatWrapping } from "three";
|
8
8
|
import { Reflector } from "./Reflector.js";
|
9
9
|
import { Refractor } from "./Refractor.js";
|
10
10
|
const _Water2 = class extends Mesh {
|
@@ -245,7 +245,7 @@ __publicField(Water2, "WaterShader", {
|
|
245
245
|
gl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );
|
246
246
|
|
247
247
|
#include <tonemapping_fragment>
|
248
|
-
#include
|
248
|
+
#include <${parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? "colorspace_fragment" : "encodings_fragment"}>
|
249
249
|
#include <fog_fragment>
|
250
250
|
|
251
251
|
}`
|
package/package.json
CHANGED
@@ -59,6 +59,7 @@ class EffectComposer {
|
|
59
59
|
console.error("THREE.EffectComposer relies on ShaderPass");
|
60
60
|
}
|
61
61
|
this.copyPass = new ShaderPass.ShaderPass(CopyShader.CopyShader);
|
62
|
+
this.copyPass.material.blending = THREE.NoBlending;
|
62
63
|
this.clock = new THREE.Clock();
|
63
64
|
}
|
64
65
|
swapBuffers() {
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
5
|
return value;
|
6
6
|
};
|
7
|
-
import { LinearFilter, RGBAFormat, Vector2, WebGLRenderTarget, Clock } from "three";
|
7
|
+
import { LinearFilter, RGBAFormat, Vector2, WebGLRenderTarget, NoBlending, Clock } from "three";
|
8
8
|
import { CopyShader } from "../shaders/CopyShader.js";
|
9
9
|
import { ShaderPass } from "./ShaderPass.js";
|
10
10
|
import { MaskPass, ClearMaskPass } from "./MaskPass.js";
|
@@ -57,6 +57,7 @@ class EffectComposer {
|
|
57
57
|
console.error("THREE.EffectComposer relies on ShaderPass");
|
58
58
|
}
|
59
59
|
this.copyPass = new ShaderPass(CopyShader);
|
60
|
+
this.copyPass.material.blending = NoBlending;
|
60
61
|
this.clock = new Clock();
|
61
62
|
}
|
62
63
|
swapBuffers() {
|
@@ -22,13 +22,8 @@ class SSAARenderPass extends Pass.Pass {
|
|
22
22
|
transparent: true,
|
23
23
|
depthTest: false,
|
24
24
|
depthWrite: false,
|
25
|
-
|
26
|
-
blending: THREE.
|
27
|
-
blendEquation: THREE.AddEquation,
|
28
|
-
blendDst: THREE.OneFactor,
|
29
|
-
blendDstAlpha: THREE.OneFactor,
|
30
|
-
blendSrc: THREE.SrcAlphaFactor,
|
31
|
-
blendSrcAlpha: THREE.OneFactor
|
25
|
+
premultipliedAlpha: true,
|
26
|
+
blending: THREE.AdditiveBlending
|
32
27
|
});
|
33
28
|
this.fsQuad = new Pass.FullScreenQuad(this.copyMaterial);
|
34
29
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Color, UniformsUtils, ShaderMaterial,
|
1
|
+
import { Color, UniformsUtils, ShaderMaterial, AdditiveBlending, WebGLRenderTarget, HalfFloatType } from "three";
|
2
2
|
import { Pass, FullScreenQuad } from "./Pass.js";
|
3
3
|
import { CopyShader } from "../shaders/CopyShader.js";
|
4
4
|
class SSAARenderPass extends Pass {
|
@@ -20,13 +20,8 @@ class SSAARenderPass extends Pass {
|
|
20
20
|
transparent: true,
|
21
21
|
depthTest: false,
|
22
22
|
depthWrite: false,
|
23
|
-
|
24
|
-
blending:
|
25
|
-
blendEquation: AddEquation,
|
26
|
-
blendDst: OneFactor,
|
27
|
-
blendDstAlpha: OneFactor,
|
28
|
-
blendSrc: SrcAlphaFactor,
|
29
|
-
blendSrcAlpha: OneFactor
|
23
|
+
premultipliedAlpha: true,
|
24
|
+
blending: AdditiveBlending
|
30
25
|
});
|
31
26
|
this.fsQuad = new FullScreenQuad(this.copyMaterial);
|
32
27
|
}
|
@@ -14,7 +14,8 @@ class SavePass extends Pass.Pass {
|
|
14
14
|
this.material = new THREE.ShaderMaterial({
|
15
15
|
uniforms: this.uniforms,
|
16
16
|
vertexShader: shader.vertexShader,
|
17
|
-
fragmentShader: shader.fragmentShader
|
17
|
+
fragmentShader: shader.fragmentShader,
|
18
|
+
blending: THREE.NoBlending
|
18
19
|
});
|
19
20
|
this.renderTarget = renderTarget;
|
20
21
|
if (this.renderTarget === void 0) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { UniformsUtils, ShaderMaterial, WebGLRenderTarget } from "three";
|
1
|
+
import { UniformsUtils, ShaderMaterial, NoBlending, WebGLRenderTarget } from "three";
|
2
2
|
import { Pass, FullScreenQuad } from "./Pass.js";
|
3
3
|
import { CopyShader } from "../shaders/CopyShader.js";
|
4
4
|
class SavePass extends Pass {
|
@@ -12,7 +12,8 @@ class SavePass extends Pass {
|
|
12
12
|
this.material = new ShaderMaterial({
|
13
13
|
uniforms: this.uniforms,
|
14
14
|
vertexShader: shader.vertexShader,
|
15
|
-
fragmentShader: shader.fragmentShader
|
15
|
+
fragmentShader: shader.fragmentShader,
|
16
|
+
blending: NoBlending
|
16
17
|
});
|
17
18
|
this.renderTarget = renderTarget;
|
18
19
|
if (this.renderTarget === void 0) {
|
@@ -7,6 +7,7 @@ class TAARenderPass extends SSAARenderPass.SSAARenderPass {
|
|
7
7
|
super(scene, camera, clearColor, clearAlpha);
|
8
8
|
this.sampleLevel = 0;
|
9
9
|
this.accumulate = false;
|
10
|
+
this.accumulateIndex = -1;
|
10
11
|
}
|
11
12
|
render(renderer, writeBuffer, readBuffer, deltaTime) {
|
12
13
|
if (this.accumulate === false) {
|
@@ -29,6 +30,8 @@ class TAARenderPass extends SSAARenderPass.SSAARenderPass {
|
|
29
30
|
}
|
30
31
|
const autoClear = renderer.autoClear;
|
31
32
|
renderer.autoClear = false;
|
33
|
+
renderer.getClearColor(this._oldClearColor);
|
34
|
+
const oldClearAlpha = renderer.getClearAlpha();
|
32
35
|
const sampleWeight = 1 / jitterOffsets.length;
|
33
36
|
if (this.accumulateIndex >= 0 && this.accumulateIndex < jitterOffsets.length) {
|
34
37
|
this.copyUniforms["opacity"].value = sampleWeight;
|
@@ -49,11 +52,14 @@ class TAARenderPass extends SSAARenderPass.SSAARenderPass {
|
|
49
52
|
);
|
50
53
|
}
|
51
54
|
renderer.setRenderTarget(writeBuffer);
|
55
|
+
renderer.setClearColor(this.clearColor, this.clearAlpha);
|
52
56
|
renderer.clear();
|
53
57
|
renderer.render(this.scene, this.camera);
|
54
58
|
renderer.setRenderTarget(this.sampleRenderTarget);
|
55
|
-
if (this.accumulateIndex === 0)
|
59
|
+
if (this.accumulateIndex === 0) {
|
60
|
+
renderer.setClearColor(0, 0);
|
56
61
|
renderer.clear();
|
62
|
+
}
|
57
63
|
this.fsQuad.render(renderer);
|
58
64
|
this.accumulateIndex++;
|
59
65
|
if (this.accumulateIndex >= jitterOffsets.length)
|
@@ -62,6 +68,7 @@ class TAARenderPass extends SSAARenderPass.SSAARenderPass {
|
|
62
68
|
if (this.camera.clearViewOffset)
|
63
69
|
this.camera.clearViewOffset();
|
64
70
|
}
|
71
|
+
renderer.setClearColor(this.clearColor, this.clearAlpha);
|
65
72
|
const accumulationWeight = this.accumulateIndex * sampleWeight;
|
66
73
|
if (accumulationWeight > 0) {
|
67
74
|
this.copyUniforms["opacity"].value = 1;
|
@@ -74,11 +81,10 @@ class TAARenderPass extends SSAARenderPass.SSAARenderPass {
|
|
74
81
|
this.copyUniforms["opacity"].value = 1 - accumulationWeight;
|
75
82
|
this.copyUniforms["tDiffuse"].value = this.holdRenderTarget.texture;
|
76
83
|
renderer.setRenderTarget(writeBuffer);
|
77
|
-
if (accumulationWeight === 0)
|
78
|
-
renderer.clear();
|
79
84
|
this.fsQuad.render(renderer);
|
80
85
|
}
|
81
86
|
renderer.autoClear = autoClear;
|
87
|
+
renderer.setClearColor(this._oldClearColor, oldClearAlpha);
|
82
88
|
}
|
83
89
|
dispose() {
|
84
90
|
super.dispose();
|
@@ -5,6 +5,7 @@ class TAARenderPass extends SSAARenderPass {
|
|
5
5
|
super(scene, camera, clearColor, clearAlpha);
|
6
6
|
this.sampleLevel = 0;
|
7
7
|
this.accumulate = false;
|
8
|
+
this.accumulateIndex = -1;
|
8
9
|
}
|
9
10
|
render(renderer, writeBuffer, readBuffer, deltaTime) {
|
10
11
|
if (this.accumulate === false) {
|
@@ -27,6 +28,8 @@ class TAARenderPass extends SSAARenderPass {
|
|
27
28
|
}
|
28
29
|
const autoClear = renderer.autoClear;
|
29
30
|
renderer.autoClear = false;
|
31
|
+
renderer.getClearColor(this._oldClearColor);
|
32
|
+
const oldClearAlpha = renderer.getClearAlpha();
|
30
33
|
const sampleWeight = 1 / jitterOffsets.length;
|
31
34
|
if (this.accumulateIndex >= 0 && this.accumulateIndex < jitterOffsets.length) {
|
32
35
|
this.copyUniforms["opacity"].value = sampleWeight;
|
@@ -47,11 +50,14 @@ class TAARenderPass extends SSAARenderPass {
|
|
47
50
|
);
|
48
51
|
}
|
49
52
|
renderer.setRenderTarget(writeBuffer);
|
53
|
+
renderer.setClearColor(this.clearColor, this.clearAlpha);
|
50
54
|
renderer.clear();
|
51
55
|
renderer.render(this.scene, this.camera);
|
52
56
|
renderer.setRenderTarget(this.sampleRenderTarget);
|
53
|
-
if (this.accumulateIndex === 0)
|
57
|
+
if (this.accumulateIndex === 0) {
|
58
|
+
renderer.setClearColor(0, 0);
|
54
59
|
renderer.clear();
|
60
|
+
}
|
55
61
|
this.fsQuad.render(renderer);
|
56
62
|
this.accumulateIndex++;
|
57
63
|
if (this.accumulateIndex >= jitterOffsets.length)
|
@@ -60,6 +66,7 @@ class TAARenderPass extends SSAARenderPass {
|
|
60
66
|
if (this.camera.clearViewOffset)
|
61
67
|
this.camera.clearViewOffset();
|
62
68
|
}
|
69
|
+
renderer.setClearColor(this.clearColor, this.clearAlpha);
|
63
70
|
const accumulationWeight = this.accumulateIndex * sampleWeight;
|
64
71
|
if (accumulationWeight > 0) {
|
65
72
|
this.copyUniforms["opacity"].value = 1;
|
@@ -72,11 +79,10 @@ class TAARenderPass extends SSAARenderPass {
|
|
72
79
|
this.copyUniforms["opacity"].value = 1 - accumulationWeight;
|
73
80
|
this.copyUniforms["tDiffuse"].value = this.holdRenderTarget.texture;
|
74
81
|
renderer.setRenderTarget(writeBuffer);
|
75
|
-
if (accumulationWeight === 0)
|
76
|
-
renderer.clear();
|
77
82
|
this.fsQuad.render(renderer);
|
78
83
|
}
|
79
84
|
renderer.autoClear = autoClear;
|
85
|
+
renderer.setClearColor(this._oldClearColor, oldClearAlpha);
|
80
86
|
}
|
81
87
|
dispose() {
|
82
88
|
super.dispose();
|
@@ -15,7 +15,8 @@ class TexturePass extends Pass.Pass {
|
|
15
15
|
vertexShader: shader.vertexShader,
|
16
16
|
fragmentShader: shader.fragmentShader,
|
17
17
|
depthTest: false,
|
18
|
-
depthWrite: false
|
18
|
+
depthWrite: false,
|
19
|
+
premultipliedAlpha: true
|
19
20
|
});
|
20
21
|
this.needsSwap = false;
|
21
22
|
this.fsQuad = new Pass.FullScreenQuad(null);
|
@@ -13,7 +13,8 @@ class TexturePass extends Pass {
|
|
13
13
|
vertexShader: shader.vertexShader,
|
14
14
|
fragmentShader: shader.fragmentShader,
|
15
15
|
depthTest: false,
|
16
|
-
depthWrite: false
|
16
|
+
depthWrite: false,
|
17
|
+
premultipliedAlpha: true
|
17
18
|
});
|
18
19
|
this.needsSwap = false;
|
19
20
|
this.fsQuad = new FullScreenQuad(null);
|
@@ -560,7 +560,7 @@ class PackedPhongMaterial extends THREE.MeshPhongMaterial {
|
|
560
560
|
THREE.ShaderChunk.envmap_fragment,
|
561
561
|
"gl_FragColor = vec4( outgoingLight, diffuseColor.a );",
|
562
562
|
THREE.ShaderChunk.tonemapping_fragment,
|
563
|
-
THREE.ShaderChunk.encodings_fragment,
|
563
|
+
parseInt(THREE.REVISION.replace(/\D+/g, "")) >= 154 ? THREE.ShaderChunk.colorspace_fragment : THREE.ShaderChunk.encodings_fragment,
|
564
564
|
THREE.ShaderChunk.fog_fragment,
|
565
565
|
THREE.ShaderChunk.premultiplied_alpha_fragment,
|
566
566
|
THREE.ShaderChunk.dithering_fragment,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BufferAttribute, Matrix4, Vector3, Matrix3, MeshPhongMaterial, UniformsUtils, ShaderLib, ShaderChunk } from "three";
|
1
|
+
import { BufferAttribute, Matrix4, Vector3, Matrix3, MeshPhongMaterial, UniformsUtils, ShaderLib, ShaderChunk, REVISION } from "three";
|
2
2
|
var GeometryCompressionUtils = {
|
3
3
|
/**
|
4
4
|
* Make the input mesh.geometry's normal attribute encoded and compressed by 3 different methods.
|
@@ -558,7 +558,7 @@ class PackedPhongMaterial extends MeshPhongMaterial {
|
|
558
558
|
ShaderChunk.envmap_fragment,
|
559
559
|
"gl_FragColor = vec4( outgoingLight, diffuseColor.a );",
|
560
560
|
ShaderChunk.tonemapping_fragment,
|
561
|
-
ShaderChunk.encodings_fragment,
|
561
|
+
parseInt(REVISION.replace(/\D+/g, "")) >= 154 ? ShaderChunk.colorspace_fragment : ShaderChunk.encodings_fragment,
|
562
562
|
ShaderChunk.fog_fragment,
|
563
563
|
ShaderChunk.premultiplied_alpha_fragment,
|
564
564
|
ShaderChunk.dithering_fragment,
|