angular-three-postprocessing 1.3.0 → 1.5.0
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/esm2020/effects/lib/bloom/bloom.mjs +3 -3
- package/esm2020/effects/lib/brightness-contrast/brightness-contrast.mjs +3 -3
- package/esm2020/effects/lib/color-depth/color-depth.mjs +3 -3
- package/esm2020/effects/lib/depth/depth.mjs +3 -3
- package/esm2020/effects/lib/dot-screen/dot-screen.mjs +3 -3
- package/esm2020/effects/lib/hue-saturation/hue-saturation.mjs +3 -3
- package/esm2020/effects/lib/lut/lut.mjs +3 -3
- package/esm2020/effects/lib/noise/noise.mjs +3 -3
- package/esm2020/effects/lib/scanline/scanline.mjs +3 -3
- package/esm2020/effects/lib/sepia/sepia.mjs +3 -3
- package/esm2020/effects/lib/ssao/ssao.mjs +3 -3
- package/esm2020/effects/lib/tilt-shift/tilt-shift.mjs +3 -3
- package/esm2020/effects/lib/tone-mapping/tone-mapping.mjs +3 -3
- package/esm2020/effects/lib/vignette/vignette.mjs +3 -3
- package/esm2020/lib/effect-composer.mjs +27 -6
- package/esm2020/lib/effect.mjs +3 -3
- package/esm2020/selection/angular-three-postprocessing-selection.mjs +5 -0
- package/esm2020/selection/index.mjs +3 -0
- package/esm2020/selection/lib/select.mjs +68 -0
- package/esm2020/selection/lib/selection.mjs +43 -0
- package/fesm2015/angular-three-postprocessing-effects.mjs +42 -42
- package/fesm2015/angular-three-postprocessing-selection.mjs +114 -0
- package/fesm2015/angular-three-postprocessing-selection.mjs.map +1 -0
- package/fesm2015/angular-three-postprocessing.mjs +29 -8
- package/fesm2015/angular-three-postprocessing.mjs.map +1 -1
- package/fesm2020/angular-three-postprocessing-effects.mjs +42 -42
- package/fesm2020/angular-three-postprocessing-selection.mjs +114 -0
- package/fesm2020/angular-three-postprocessing-selection.mjs.map +1 -0
- package/fesm2020/angular-three-postprocessing.mjs +29 -8
- package/fesm2020/angular-three-postprocessing.mjs.map +1 -1
- package/package.json +12 -4
- package/plugin/package.json +2 -3
- package/selection/README.md +3 -0
- package/selection/index.d.ts +2 -0
- package/selection/lib/select.d.ts +14 -0
- package/selection/lib/selection.d.ts +18 -0
|
@@ -14,11 +14,11 @@ class NgtpBloom extends NgtpEffect {
|
|
|
14
14
|
return BloomEffect;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
NgtpBloom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
18
|
-
NgtpBloom.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
17
|
+
NgtpBloom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpBloom, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
NgtpBloom.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpBloom, isStandalone: true, selector: "ngtp-bloom", inputs: { mipmapBlur: "mipmapBlur", luminanceThreshold: "luminanceThreshold", luminanceSmoothing: "luminanceSmoothing", intensity: "intensity", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", kernelSize: "kernelSize" }, usesInheritance: true, ngImport: i0, template: `
|
|
19
19
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
20
20
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpBloom, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'ngtp-bloom',
|
|
@@ -48,11 +48,11 @@ class NgtpBrightnessContrast extends NgtpEffect {
|
|
|
48
48
|
return BrightnessContrastEffect;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
NgtpBrightnessContrast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
52
|
-
NgtpBrightnessContrast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
51
|
+
NgtpBrightnessContrast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpBrightnessContrast, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
NgtpBrightnessContrast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpBrightnessContrast, isStandalone: true, selector: "ngtp-brightness-contrast", inputs: { brightness: "brightness", contrast: "contrast" }, usesInheritance: true, ngImport: i0, template: `
|
|
53
53
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
54
54
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpBrightnessContrast, decorators: [{
|
|
56
56
|
type: Component,
|
|
57
57
|
args: [{
|
|
58
58
|
selector: 'ngtp-brightness-contrast',
|
|
@@ -71,11 +71,11 @@ class NgtpColorDepth extends NgtpEffect {
|
|
|
71
71
|
return ColorDepthEffect;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
NgtpColorDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
75
|
-
NgtpColorDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
74
|
+
NgtpColorDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpColorDepth, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
+
NgtpColorDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpColorDepth, isStandalone: true, selector: "ngtp-color-depth", inputs: { bits: "bits" }, usesInheritance: true, ngImport: i0, template: `
|
|
76
76
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
77
77
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpColorDepth, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{
|
|
81
81
|
selector: 'ngtp-color-depth',
|
|
@@ -94,11 +94,11 @@ class NgtpDepth extends NgtpEffect {
|
|
|
94
94
|
return DepthEffect;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
NgtpDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
98
|
-
NgtpDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
97
|
+
NgtpDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpDepth, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
+
NgtpDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpDepth, isStandalone: true, selector: "ngtp-depth", inputs: { inverted: "inverted" }, usesInheritance: true, ngImport: i0, template: `
|
|
99
99
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
100
100
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpDepth, decorators: [{
|
|
102
102
|
type: Component,
|
|
103
103
|
args: [{
|
|
104
104
|
selector: 'ngtp-depth',
|
|
@@ -117,11 +117,11 @@ class NgtpDotScreen extends NgtpEffect {
|
|
|
117
117
|
return DotScreenEffect;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
-
NgtpDotScreen.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
121
|
-
NgtpDotScreen.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
120
|
+
NgtpDotScreen.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpDotScreen, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
+
NgtpDotScreen.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpDotScreen, isStandalone: true, selector: "ngtp-dot-screen", inputs: { angle: "angle", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
|
|
122
122
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
123
123
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpDotScreen, decorators: [{
|
|
125
125
|
type: Component,
|
|
126
126
|
args: [{
|
|
127
127
|
selector: 'ngtp-dot-screen',
|
|
@@ -140,11 +140,11 @@ class NgtpHueSaturation extends NgtpEffect {
|
|
|
140
140
|
return HueSaturationEffect;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
NgtpHueSaturation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
144
|
-
NgtpHueSaturation.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
143
|
+
NgtpHueSaturation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpHueSaturation, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
NgtpHueSaturation.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpHueSaturation, isStandalone: true, selector: "ngtp-hue-saturation", inputs: { hue: "hue", saturation: "saturation" }, usesInheritance: true, ngImport: i0, template: `
|
|
145
145
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
146
146
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpHueSaturation, decorators: [{
|
|
148
148
|
type: Component,
|
|
149
149
|
args: [{
|
|
150
150
|
selector: 'ngtp-hue-saturation',
|
|
@@ -189,11 +189,11 @@ class NgtpLUT extends NgtRxStore {
|
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
-
NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
193
|
-
NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
192
|
+
NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpLUT, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
193
|
+
NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { blendFunction: "blendFunction", tetrahedralInterpolation: "tetrahedralInterpolation", lutRef: "lutRef", lut: "lut" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
194
194
|
<ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
|
|
195
195
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpLUT, decorators: [{
|
|
197
197
|
type: Component,
|
|
198
198
|
args: [{
|
|
199
199
|
selector: 'ngtp-lut',
|
|
@@ -220,11 +220,11 @@ class NgtpNoise extends NgtpEffect {
|
|
|
220
220
|
return NoiseEffect;
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
NgtpNoise.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
224
|
-
NgtpNoise.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
223
|
+
NgtpNoise.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpNoise, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
224
|
+
NgtpNoise.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpNoise, isStandalone: true, selector: "ngtp-noise", inputs: { premultiply: "premultiply" }, usesInheritance: true, ngImport: i0, template: `
|
|
225
225
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
226
226
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpNoise, decorators: [{
|
|
228
228
|
type: Component,
|
|
229
229
|
args: [{
|
|
230
230
|
selector: 'ngtp-noise',
|
|
@@ -247,11 +247,11 @@ class NgtpScanline extends NgtpEffect {
|
|
|
247
247
|
return ScanlineEffect;
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
-
NgtpScanline.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
251
|
-
NgtpScanline.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
250
|
+
NgtpScanline.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpScanline, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
251
|
+
NgtpScanline.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpScanline, isStandalone: true, selector: "ngtp-scanline", inputs: { density: "density" }, usesInheritance: true, ngImport: i0, template: `
|
|
252
252
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
253
253
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpScanline, decorators: [{
|
|
255
255
|
type: Component,
|
|
256
256
|
args: [{
|
|
257
257
|
selector: 'ngtp-scanline',
|
|
@@ -270,11 +270,11 @@ class NgtpSepia extends NgtpEffect {
|
|
|
270
270
|
return SepiaEffect;
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
NgtpSepia.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
274
|
-
NgtpSepia.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
273
|
+
NgtpSepia.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSepia, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
274
|
+
NgtpSepia.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpSepia, isStandalone: true, selector: "ngtp-sepia", inputs: { intensity: "intensity" }, usesInheritance: true, ngImport: i0, template: `
|
|
275
275
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
276
276
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSepia, decorators: [{
|
|
278
278
|
type: Component,
|
|
279
279
|
args: [{
|
|
280
280
|
selector: 'ngtp-sepia',
|
|
@@ -336,11 +336,11 @@ class NgtpSSAO extends NgtRxStore {
|
|
|
336
336
|
})));
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
|
-
NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
340
|
-
NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
339
|
+
NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSSAO, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
340
|
+
NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpSSAO, isStandalone: true, selector: "ngtp-ssao", inputs: { blendFunction: "blendFunction", distanceScaling: "distanceScaling", depthAwareUpsampling: "depthAwareUpsampling", normalDepthBuffer: "normalDepthBuffer", samples: "samples", rings: "rings", worldDistanceThreshold: "worldDistanceThreshold", worldDistanceFalloff: "worldDistanceFalloff", worldProximityThreshold: "worldProximityThreshold", worldProximityFalloff: "worldProximityFalloff", distanceThreshold: "distanceThreshold", distanceFalloff: "distanceFalloff", rangeThreshold: "rangeThreshold", rangeFalloff: "rangeFalloff", minRadiusScale: "minRadiusScale", luminanceInfluence: "luminanceInfluence", radius: "radius", intensity: "intensity", bias: "bias", fade: "fade", color: "color", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", ssaoRef: "ssaoRef" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
341
341
|
<ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
|
|
342
342
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSSAO, decorators: [{
|
|
344
344
|
type: Component,
|
|
345
345
|
args: [{
|
|
346
346
|
selector: 'ngtp-ssao',
|
|
@@ -392,11 +392,11 @@ class NgtpTiltShift extends NgtpEffect {
|
|
|
392
392
|
return TiltShiftEffect;
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
|
-
NgtpTiltShift.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
396
|
-
NgtpTiltShift.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
395
|
+
NgtpTiltShift.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpTiltShift, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
396
|
+
NgtpTiltShift.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpTiltShift, isStandalone: true, selector: "ngtp-tilt-shift", inputs: { offset: "offset", rotation: "rotation", focusArea: "focusArea", feather: "feather", bias: "bias", kernelSize: "kernelSize", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY" }, usesInheritance: true, ngImport: i0, template: `
|
|
397
397
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
398
398
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpTiltShift, decorators: [{
|
|
400
400
|
type: Component,
|
|
401
401
|
args: [{
|
|
402
402
|
selector: 'ngtp-tilt-shift',
|
|
@@ -425,11 +425,11 @@ class NgtpToneMapping extends NgtpEffect {
|
|
|
425
425
|
return ToneMappingEffect;
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
|
-
NgtpToneMapping.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
429
|
-
NgtpToneMapping.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
428
|
+
NgtpToneMapping.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpToneMapping, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
429
|
+
NgtpToneMapping.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpToneMapping, isStandalone: true, selector: "ngtp-tone-mapping", inputs: { adaptive: "adaptive", mode: "mode", resolution: "resolution", maxLuminance: "maxLuminance", whitePoint: "whitePoint", middleGrey: "middleGrey", minLuminance: "minLuminance", averageLuminance: "averageLuminance", adaptationRate: "adaptationRate" }, usesInheritance: true, ngImport: i0, template: `
|
|
430
430
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
431
431
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpToneMapping, decorators: [{
|
|
433
433
|
type: Component,
|
|
434
434
|
args: [{
|
|
435
435
|
selector: 'ngtp-tone-mapping',
|
|
@@ -458,11 +458,11 @@ class NgtpVignette extends NgtpEffect {
|
|
|
458
458
|
return VignetteEffect;
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
|
-
NgtpVignette.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
462
|
-
NgtpVignette.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
461
|
+
NgtpVignette.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpVignette, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
462
|
+
NgtpVignette.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpVignette, isStandalone: true, selector: "ngtp-vignette", inputs: { technique: "technique", eskil: "eskil", offset: "offset", darkness: "darkness" }, usesInheritance: true, ngImport: i0, template: `
|
|
463
463
|
<ngt-primitive *args="[get('effect')]" ngtCompound />
|
|
464
464
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
465
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
465
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpVignette, decorators: [{
|
|
466
466
|
type: Component,
|
|
467
467
|
args: [{
|
|
468
468
|
selector: 'ngtp-vignette',
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, Component, Input, inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
|
+
import { NgtRxStore, extend, injectNgtRef } from 'angular-three';
|
|
4
|
+
import { combineLatest } from 'rxjs';
|
|
5
|
+
import { Group } from 'three';
|
|
6
|
+
|
|
7
|
+
const NGTP_SELECTION_API = new InjectionToken('NgtpSelection API');
|
|
8
|
+
function ngtpSelectionApiFactory(selection) {
|
|
9
|
+
const api = {
|
|
10
|
+
get selected() {
|
|
11
|
+
return selection.get('selected');
|
|
12
|
+
},
|
|
13
|
+
select: selection.set.bind(selection),
|
|
14
|
+
get enabled() {
|
|
15
|
+
return selection.get('enabled');
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
return api;
|
|
19
|
+
}
|
|
20
|
+
class NgtpSelection extends NgtRxStore {
|
|
21
|
+
set enabled(enabled) {
|
|
22
|
+
this.set({ enabled });
|
|
23
|
+
}
|
|
24
|
+
initialize() {
|
|
25
|
+
super.initialize();
|
|
26
|
+
this.set({ selected: [], enabled: true });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
NgtpSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSelection, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
NgtpSelection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpSelection, isStandalone: true, selector: "ngtp-selection", inputs: { enabled: "enabled" }, providers: [{ provide: NGTP_SELECTION_API, useFactory: ngtpSelectionApiFactory, deps: [NgtpSelection] }], usesInheritance: true, ngImport: i0, template: `
|
|
31
|
+
<ng-content />
|
|
32
|
+
`, isInline: true });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSelection, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: 'ngtp-selection',
|
|
37
|
+
standalone: true,
|
|
38
|
+
template: `
|
|
39
|
+
<ng-content />
|
|
40
|
+
`,
|
|
41
|
+
providers: [{ provide: NGTP_SELECTION_API, useFactory: ngtpSelectionApiFactory, deps: [NgtpSelection] }],
|
|
42
|
+
}]
|
|
43
|
+
}], propDecorators: { enabled: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}] } });
|
|
46
|
+
|
|
47
|
+
extend({ Group });
|
|
48
|
+
class NgtpSelect extends NgtRxStore {
|
|
49
|
+
constructor() {
|
|
50
|
+
super(...arguments);
|
|
51
|
+
this.groupRef = injectNgtRef();
|
|
52
|
+
this.selectionApi = inject(NGTP_SELECTION_API);
|
|
53
|
+
}
|
|
54
|
+
set enabled(enabled) {
|
|
55
|
+
this.set({ enabled });
|
|
56
|
+
}
|
|
57
|
+
initialize() {
|
|
58
|
+
super.initialize();
|
|
59
|
+
this.set({ enabled: false });
|
|
60
|
+
}
|
|
61
|
+
ngOnInit() {
|
|
62
|
+
this.setSelectEffect();
|
|
63
|
+
}
|
|
64
|
+
setSelectEffect() {
|
|
65
|
+
this.effect(combineLatest([this.select('enabled'), this.groupRef.children$()]), ([enabled]) => {
|
|
66
|
+
if (enabled) {
|
|
67
|
+
let changed = false;
|
|
68
|
+
const current = [];
|
|
69
|
+
this.groupRef.nativeElement.traverse((obj) => {
|
|
70
|
+
if (obj.type === 'Mesh')
|
|
71
|
+
current.push(obj);
|
|
72
|
+
if (this.selectionApi.selected.indexOf(obj) === -1)
|
|
73
|
+
changed = true;
|
|
74
|
+
});
|
|
75
|
+
if (changed) {
|
|
76
|
+
this.selectionApi.select((state) => ({ selected: [...state.selected, ...current] }));
|
|
77
|
+
return () => {
|
|
78
|
+
this.selectionApi.select((state) => ({
|
|
79
|
+
selected: state.selected.filter((selected) => !current.includes(selected)),
|
|
80
|
+
}));
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
NgtpSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSelect, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
+
NgtpSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpSelect, isStandalone: true, selector: "ngtp-select", inputs: { enabled: "enabled" }, usesInheritance: true, ngImport: i0, template: `
|
|
89
|
+
<ngt-group ngtCompound [ref]="groupRef">
|
|
90
|
+
<ng-content />
|
|
91
|
+
</ngt-group>
|
|
92
|
+
`, isInline: true });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpSelect, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{
|
|
96
|
+
selector: 'ngtp-select',
|
|
97
|
+
standalone: true,
|
|
98
|
+
template: `
|
|
99
|
+
<ngt-group ngtCompound [ref]="groupRef">
|
|
100
|
+
<ng-content />
|
|
101
|
+
</ngt-group>
|
|
102
|
+
`,
|
|
103
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
104
|
+
}]
|
|
105
|
+
}], propDecorators: { enabled: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}] } });
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Generated bundle index. Do not edit.
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
export { NGTP_SELECTION_API, NgtpSelect, NgtpSelection };
|
|
114
|
+
//# sourceMappingURL=angular-three-postprocessing-selection.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular-three-postprocessing-selection.mjs","sources":["../../../../libs/angular-three-postprocessing/selection/src/lib/selection.ts","../../../../libs/angular-three-postprocessing/selection/src/lib/select.ts","../../../../libs/angular-three-postprocessing/selection/src/angular-three-postprocessing-selection.ts"],"sourcesContent":["import { Component, InjectionToken, Input } from '@angular/core';\nimport { RxState } from '@rx-angular/state';\nimport { NgtRxStore } from 'angular-three';\n\nexport interface NgtpSelectionAPI {\n selected: THREE.Object3D[];\n select: RxState<{ selected: THREE.Object3D[] }>['set'];\n enabled: boolean;\n}\n\nexport const NGTP_SELECTION_API = new InjectionToken<NgtpSelectionAPI>('NgtpSelection API');\nfunction ngtpSelectionApiFactory(selection: NgtpSelection) {\n const api: NgtpSelectionAPI = {\n get selected() {\n return selection.get('selected');\n },\n select: selection.set.bind(selection),\n get enabled() {\n return selection.get('enabled');\n },\n };\n return api;\n}\n\n@Component({\n selector: 'ngtp-selection',\n standalone: true,\n template: `\n <ng-content />\n `,\n providers: [{ provide: NGTP_SELECTION_API, useFactory: ngtpSelectionApiFactory, deps: [NgtpSelection] }],\n})\nexport class NgtpSelection extends NgtRxStore {\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({ selected: [], enabled: true });\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnInit } from '@angular/core';\nimport { extend, injectNgtRef, NgtRxStore } from 'angular-three';\nimport { combineLatest } from 'rxjs';\nimport { Group } from 'three';\nimport { NGTP_SELECTION_API } from './selection';\n\nextend({ Group });\n\n@Component({\n selector: 'ngtp-select',\n standalone: true,\n template: `\n <ngt-group ngtCompound [ref]=\"groupRef\">\n <ng-content />\n </ngt-group>\n `,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpSelect extends NgtRxStore implements OnInit {\n readonly groupRef = injectNgtRef<THREE.Group>();\n\n private readonly selectionApi = inject(NGTP_SELECTION_API);\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({ enabled: false });\n }\n\n ngOnInit() {\n this.setSelectEffect();\n }\n\n private setSelectEffect() {\n this.effect(combineLatest([this.select('enabled'), this.groupRef.children$()]), ([enabled]) => {\n if (enabled) {\n let changed = false;\n const current: THREE.Object3D[] = [];\n this.groupRef.nativeElement.traverse((obj) => {\n if (obj.type === 'Mesh') current.push(obj);\n if (this.selectionApi.selected.indexOf(obj) === -1) changed = true;\n });\n if (changed) {\n this.selectionApi.select((state) => ({ selected: [...state.selected, ...current] }));\n return () => {\n this.selectionApi.select((state) => ({\n selected: state.selected.filter((selected) => !current.includes(selected)),\n }));\n };\n }\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -49,9 +49,9 @@ class NgtpEffect extends NgtRxStore {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
NgtpEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
53
|
-
NgtpEffect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
52
|
+
NgtpEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpEffect, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
NgtpEffect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.5", type: NgtpEffect, inputs: { blendFunction: "blendFunction", opacity: "opacity" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpEffect, decorators: [{
|
|
55
55
|
type: Directive
|
|
56
56
|
}], propDecorators: { blendFunction: [{
|
|
57
57
|
type: Input
|
|
@@ -233,16 +233,37 @@ class NgtpEffectComposer extends NgtRxStore {
|
|
|
233
233
|
const enabled = this.get('enabled');
|
|
234
234
|
const autoClear = this.get('autoClear');
|
|
235
235
|
const gl = this.store.get('gl');
|
|
236
|
+
const size = this.store.get('size');
|
|
237
|
+
const camera = this.store.get('camera');
|
|
236
238
|
if (composer && enabled) {
|
|
237
|
-
gl.
|
|
238
|
-
|
|
239
|
+
if (!gl.xr.isPresenting) {
|
|
240
|
+
gl.autoClear = autoClear;
|
|
241
|
+
composer.render(delta);
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
// manually handle XR
|
|
245
|
+
gl.xr.enabled = false;
|
|
246
|
+
// update camera with XRPose
|
|
247
|
+
gl.xr.updateCamera(camera);
|
|
248
|
+
// render stereo cameras
|
|
249
|
+
const { cameras } = gl.xr.getCamera();
|
|
250
|
+
cameras.forEach(({ viewport, matrixWorld, projectionMatrix }) => {
|
|
251
|
+
gl.setViewport(viewport);
|
|
252
|
+
camera.position.setFromMatrixPosition(matrixWorld);
|
|
253
|
+
camera.projectionMatrix.copy(projectionMatrix);
|
|
254
|
+
composer.render(delta);
|
|
255
|
+
});
|
|
256
|
+
// reset
|
|
257
|
+
gl.setViewport(0, 0, size.width, size.height);
|
|
258
|
+
gl.xr.updateCamera(camera);
|
|
259
|
+
gl.xr.enabled = true;
|
|
239
260
|
}
|
|
240
261
|
}, enabled ? renderPriority : 0));
|
|
241
262
|
this.actions.setBeforeRender();
|
|
242
263
|
}
|
|
243
264
|
}
|
|
244
|
-
NgtpEffectComposer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.
|
|
245
|
-
NgtpEffectComposer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.
|
|
265
|
+
NgtpEffectComposer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpEffectComposer, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
266
|
+
NgtpEffectComposer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: NgtpEffectComposer, isStandalone: true, selector: "ngtp-effect-composer", inputs: { composerRef: "composerRef", enabled: "enabled", depthBuffer: "depthBuffer", disableNormalPass: "disableNormalPass", stencilBuffer: "stencilBuffer", autoClear: "autoClear", resolutionScale: "resolutionScale", multisampling: "multisampling", frameBufferType: "frameBufferType", renderPriority: "renderPriority", camera: "camera", scene: "scene" }, providers: [
|
|
246
267
|
{ provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },
|
|
247
268
|
RxActionFactory,
|
|
248
269
|
], usesInheritance: true, ngImport: i0, template: `
|
|
@@ -250,7 +271,7 @@ NgtpEffectComposer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
250
271
|
<ng-content />
|
|
251
272
|
</ngt-group>
|
|
252
273
|
`, isInline: true });
|
|
253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.
|
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: NgtpEffectComposer, decorators: [{
|
|
254
275
|
type: Component,
|
|
255
276
|
args: [{
|
|
256
277
|
selector: 'ngtp-effect-composer',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group [ref]=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group [ref]=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n const size = this.store.get('size');\n const camera = this.store.get('camera');\n if (composer && enabled) {\n if (!gl.xr.isPresenting) {\n gl.autoClear = autoClear;\n composer.render(delta);\n return;\n }\n\n // manually handle XR\n gl.xr.enabled = false;\n // update camera with XRPose\n gl.xr.updateCamera(camera as THREE.PerspectiveCamera);\n\n // render stereo cameras\n const { cameras } = gl.xr.getCamera();\n cameras.forEach(({ viewport, matrixWorld, projectionMatrix }) => {\n gl.setViewport(viewport);\n camera.position.setFromMatrixPosition(matrixWorld);\n camera.projectionMatrix.copy(projectionMatrix);\n\n composer.render(delta);\n });\n\n // reset\n gl.setViewport(0, 0, size.width, size.height);\n gl.xr.updateCamera(camera as THREE.PerspectiveCamera);\n gl.xr.enabled = true;\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "angular-three-postprocessing",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"angular-three": "^1.0.0",
|
|
28
28
|
"postprocessing": "^6.0.0",
|
|
29
29
|
"three": "^0.148.0 || ^0.149.0",
|
|
30
|
-
"rxjs": "7.8.0",
|
|
31
|
-
"@rx-angular/state": "1.7.0",
|
|
32
|
-
"three-stdlib": "2.21.8"
|
|
30
|
+
"rxjs": "~7.8.0",
|
|
31
|
+
"@rx-angular/state": "^1.7.0",
|
|
32
|
+
"three-stdlib": "^2.21.8"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@nrwl/devkit": "^15.0.0",
|
|
@@ -63,6 +63,14 @@
|
|
|
63
63
|
"es2015": "./fesm2015/angular-three-postprocessing-effects.mjs",
|
|
64
64
|
"node": "./fesm2015/angular-three-postprocessing-effects.mjs",
|
|
65
65
|
"default": "./fesm2020/angular-three-postprocessing-effects.mjs"
|
|
66
|
+
},
|
|
67
|
+
"./selection": {
|
|
68
|
+
"types": "./selection/index.d.ts",
|
|
69
|
+
"esm2020": "./esm2020/selection/angular-three-postprocessing-selection.mjs",
|
|
70
|
+
"es2020": "./fesm2020/angular-three-postprocessing-selection.mjs",
|
|
71
|
+
"es2015": "./fesm2015/angular-three-postprocessing-selection.mjs",
|
|
72
|
+
"node": "./fesm2015/angular-three-postprocessing-selection.mjs",
|
|
73
|
+
"default": "./fesm2020/angular-three-postprocessing-selection.mjs"
|
|
66
74
|
}
|
|
67
75
|
}
|
|
68
76
|
}
|
package/plugin/package.json
CHANGED