@needle-tools/engine 4.6.1-next.1e3d612 → 4.6.1-next.2b6c7ea
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/dist/{needle-engine.bundle-BYdv-DmQ.min.js → needle-engine.bundle-BzX-r0pE.min.js} +101 -101
- package/dist/{needle-engine.bundle-Dx31Hfkf.js → needle-engine.bundle-CHrGRiUE.js} +1571 -1576
- package/dist/{needle-engine.bundle-DsI9yYlp.umd.cjs → needle-engine.bundle-Cyccgqnt.umd.cjs} +84 -84
- package/dist/needle-engine.js +2 -2
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js +0 -1
- package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +0 -1
- package/lib/engine-components/postprocessing/Effects/Sharpening.js +0 -4
- package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
- package/lib/engine-components/postprocessing/PostProcessingEffect.js +2 -2
- package/lib/engine-components/postprocessing/PostProcessingEffect.js.map +1 -1
- package/lib/engine-components/postprocessing/PostProcessingHandler.js +3 -2
- package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
- package/lib/engine-components/postprocessing/utils.d.ts +1 -2
- package/lib/engine-components/postprocessing/utils.js +29 -9
- package/lib/engine-components/postprocessing/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +0 -1
- package/src/engine-components/postprocessing/Effects/Sharpening.ts +0 -5
- package/src/engine-components/postprocessing/PostProcessingEffect.ts +2 -2
- package/src/engine-components/postprocessing/PostProcessingHandler.ts +4 -2
- package/src/engine-components/postprocessing/utils.ts +31 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/engine-components/postprocessing/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAW3C,IAAI,yBAAyB,GAAuD,IAAI,CAAC;AAEzF,MAAM,UAAU,4BAA4B,CAAC,IAAiD;IAC1F,yBAAyB,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAA4B;IAClE,IAAI,GAAG,GAAG,MAAM,CAAC,UAA6B,CAAC;IAC/C,OAAO,GAAG,EAAE;QACR,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE;YAChD,IAAK,IAA0C,CAAC,uBAAuB,KAAK,IAAI,EAAE;gBAC9E,OAAO,IAAyC,CAAC;aACpD;SACJ;QACD,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;KACpB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAA4B;IACjE,IAAI,OAAO,GAAkC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,EAAE;QACV,IAAI,yBAAyB,EAAE;YAC3B,IAAI,KAAK;gBACL,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;SAC5D;aACI;YACD,IAAI,gBAAgB,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;SACxD;KACJ;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IACxC,uEAAuE;IACvE,QAAQ,EAAE,CAAC,MAAM;IAEjB,UAAU,EAAE,CAAC;IACb,qBAAqB,EAAE,EAAE;IACzB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,EAAE;IAChB,mBAAmB,EAAE,EAAE;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,GAAG;IAChB,aAAa,EAAE,GAAG;IAClB,kBAAkB,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/engine-components/postprocessing/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "4.6.1-next.
|
|
3
|
+
"version": "4.6.1-next.2b6c7ea",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
|
|
5
5
|
"main": "dist/needle-engine.min.js",
|
|
6
6
|
"exports": {
|
|
@@ -124,7 +124,6 @@ export class ScreenSpaceAmbientOcclusionN8 extends PostProcessingEffect {
|
|
|
124
124
|
cam,
|
|
125
125
|
width, height
|
|
126
126
|
) as N8AOPostPass;
|
|
127
|
-
ssao.name = "SSAO N8";
|
|
128
127
|
|
|
129
128
|
const mode = ScreenSpaceAmbientOcclusionN8QualityMode[this.quality];
|
|
130
129
|
ssao.setQualityMode(mode);
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { EffectAttribute } from "postprocessing";
|
|
2
1
|
import { Uniform } from "three";
|
|
3
2
|
|
|
4
3
|
import { MODULES } from "../../../engine/engine_modules.js";
|
|
5
4
|
import { serializable } from "../../../engine/engine_serialization.js";
|
|
6
5
|
import { PostProcessingEffect } from "../PostProcessingEffect.js";
|
|
7
|
-
import { PostProcessingEffectPriority } from "../utils.js";
|
|
8
6
|
// import type { createSharpeningEffectType } from "./Sharpening.effect";
|
|
9
7
|
|
|
10
8
|
// let __SHARPENING_MODULE: typeof import("./Sharpening.effect");
|
|
@@ -23,8 +21,6 @@ export class SharpeningEffect extends PostProcessingEffect {
|
|
|
23
21
|
return "Sharpening";
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
priority: number | undefined = PostProcessingEffectPriority.Sharpening;
|
|
27
|
-
|
|
28
24
|
private _effect?: any;
|
|
29
25
|
|
|
30
26
|
onCreateEffect() {
|
|
@@ -134,7 +130,6 @@ function createSharpeningEffectType() {
|
|
|
134
130
|
["radius", new Uniform(1)],
|
|
135
131
|
// ["threshold", new Uniform(0)],
|
|
136
132
|
]),
|
|
137
|
-
attributes: EffectAttribute.CONVOLUTION
|
|
138
133
|
});
|
|
139
134
|
}
|
|
140
135
|
}
|
|
@@ -105,7 +105,7 @@ export abstract class PostProcessingEffect extends Component implements IEffectP
|
|
|
105
105
|
|
|
106
106
|
onEnable(): void {
|
|
107
107
|
super.onEnable();
|
|
108
|
-
if (debug) console.warn("
|
|
108
|
+
if (debug) console.warn("onEnable effect", this, this.__internalDidAwakeAndStart)
|
|
109
109
|
// Dont override the serialized value by enabling (we could also just disable this component / map enabled to active)
|
|
110
110
|
if (this.__internalDidAwakeAndStart)
|
|
111
111
|
this.active = true;
|
|
@@ -114,7 +114,7 @@ export abstract class PostProcessingEffect extends Component implements IEffectP
|
|
|
114
114
|
|
|
115
115
|
onDisable(): void {
|
|
116
116
|
super.onDisable();
|
|
117
|
-
if (debug) console.warn("
|
|
117
|
+
if (debug) console.warn("onDisable effect", this)
|
|
118
118
|
this._manager?.removeEffect(this);
|
|
119
119
|
this.active = false;
|
|
120
120
|
}
|
|
@@ -268,10 +268,12 @@ export class PostProcessingHandler {
|
|
|
268
268
|
const attributes = ef.getAttributes();
|
|
269
269
|
const convolution = MODULES.POSTPROCESSING.MODULE.EffectAttribute.CONVOLUTION;
|
|
270
270
|
if (attributes & convolution) {
|
|
271
|
-
if
|
|
271
|
+
if(debug) console.log("[PostProcessing] Convolution effect detected: " + ef.name, hasConvolutionEffectInArray);
|
|
272
272
|
if (hasConvolutionEffectInArray) {
|
|
273
|
-
|
|
273
|
+
hasConvolutionEffectInArray = false;
|
|
274
|
+
if(debug) console.log("[PostProcessing] Merging effects with convolution effect in array", effectsToMerge.map(e => e.name).join(", "));
|
|
274
275
|
this.createPassForMergeableEffects(effectsToMerge, composer, cam, scene);
|
|
276
|
+
|
|
275
277
|
}
|
|
276
278
|
hasConvolutionEffectInArray = true;
|
|
277
279
|
}
|
|
@@ -84,8 +84,8 @@ export const PostProcessingEffectPriority = {
|
|
|
84
84
|
|
|
85
85
|
NormalPass: 0,
|
|
86
86
|
DepthDownsamplingPass: 10,
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
SMAA: 20,
|
|
88
|
+
SSAO: 30,
|
|
89
89
|
TiltShift: 40,
|
|
90
90
|
DepthOfField: 50,
|
|
91
91
|
ChromaticAberration: 60,
|
|
@@ -95,7 +95,6 @@ export const PostProcessingEffectPriority = {
|
|
|
95
95
|
ToneMapping: 100,
|
|
96
96
|
HueSaturation: 110,
|
|
97
97
|
BrightnessContrast: 120,
|
|
98
|
-
Sharpening: 130,
|
|
99
98
|
|
|
100
99
|
/** Used to render effects at the end of the post-processing chain, e.g. for final adjustments or overlays. */
|
|
101
100
|
AT_END: 10_000,
|
|
@@ -113,12 +112,10 @@ export function orderEffects(effects: Array<PostprocessingEffectData>) {
|
|
|
113
112
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.DepthDownsamplingPass, PostProcessingEffectPriority.DepthDownsamplingPass);
|
|
114
113
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.SMAAEffect, PostProcessingEffectPriority.SMAA);
|
|
115
114
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.SSAOEffect, PostProcessingEffectPriority.SSAO);
|
|
116
|
-
builtinOrder.set(MODULES.POSTPROCESSING_AO.MODULE.N8AOPostPass, PostProcessingEffectPriority.SSAO);
|
|
117
115
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.TiltShiftEffect, PostProcessingEffectPriority.TiltShift);
|
|
118
116
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.DepthOfFieldEffect, PostProcessingEffectPriority.DepthOfField);
|
|
119
117
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.ChromaticAberrationEffect, PostProcessingEffectPriority.ChromaticAberration);
|
|
120
118
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.BloomEffect, PostProcessingEffectPriority.Bloom);
|
|
121
|
-
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.SelectiveBloomEffect, PostProcessingEffectPriority.Bloom);
|
|
122
119
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.VignetteEffect, PostProcessingEffectPriority.Vignette);
|
|
123
120
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.PixelationEffect, PostProcessingEffectPriority.Pixelation);
|
|
124
121
|
builtinOrder.set(MODULES.POSTPROCESSING.MODULE.ToneMappingEffect, PostProcessingEffectPriority.ToneMapping);
|
|
@@ -135,16 +132,41 @@ export function orderEffects(effects: Array<PostprocessingEffectData>) {
|
|
|
135
132
|
|
|
136
133
|
// Unknown effects should be rendered first
|
|
137
134
|
if (aidx < 0) {
|
|
138
|
-
if (debug) console.warn("Unknown effect found: ", a.constructor.name
|
|
139
|
-
return 1;
|
|
135
|
+
if (debug) console.warn("Unknown effect found: ", a.constructor.name);
|
|
136
|
+
return -1;
|
|
140
137
|
}
|
|
141
138
|
else if (bidx < 0) {
|
|
142
|
-
if (debug) console.warn("Unknown effect found: ", b.constructor.name
|
|
143
|
-
return
|
|
139
|
+
if (debug) console.warn("Unknown effect found: ", b.constructor.name);
|
|
140
|
+
return 1;
|
|
144
141
|
}
|
|
142
|
+
// if (aidx < 0) return 1;
|
|
143
|
+
// if (bidx < 0) return -1;
|
|
145
144
|
return aidx - bidx;
|
|
146
145
|
});
|
|
147
146
|
|
|
147
|
+
// effects.sort((a, b) => {
|
|
148
|
+
// if (a.beforeEffect) {
|
|
149
|
+
// const beforeA = effectsOrder!.findIndex(e => a.beforeEffect!.constructor.name.endsWith(e.name));
|
|
150
|
+
// if (beforeA >= 0) {
|
|
151
|
+
// return -1; // before effect should be rendered first
|
|
152
|
+
// }
|
|
153
|
+
// else {
|
|
154
|
+
// return 1; // no before effect, so we can keep the order
|
|
155
|
+
// }
|
|
156
|
+
// }
|
|
157
|
+
// else if (b.beforeEffect) {
|
|
158
|
+
// const beforeB = effectsOrder!.findIndex(e => b.beforeEffect!.constructor.name.endsWith(e.name));
|
|
159
|
+
// if (beforeB >= 0) {
|
|
160
|
+
// return 1; // before effect should be rendered first
|
|
161
|
+
// }
|
|
162
|
+
// else if (a.beforeEffect) {
|
|
163
|
+
// return -1; // no before effect, so we can keep the order
|
|
164
|
+
// }
|
|
165
|
+
|
|
166
|
+
// }
|
|
167
|
+
// return 0; // no before effect, so we can keep the order
|
|
168
|
+
// });
|
|
169
|
+
|
|
148
170
|
|
|
149
171
|
if (debug === "verbose") console.debug("After ordering effects", [...effects]);
|
|
150
172
|
}
|