angular-three-postprocessing 2.12.0 → 2.13.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/esm2022/lib/effect-composer.mjs +20 -11
- package/esm2022/lib/effect.mjs +1 -2
- package/esm2022/lib/effects/ascii.mjs +7 -3
- package/esm2022/lib/effects/bloom.mjs +3 -3
- package/esm2022/lib/effects/brightness-contrast.mjs +3 -3
- package/esm2022/lib/effects/chromatic-abberation.mjs +3 -3
- package/esm2022/lib/effects/color-depth.mjs +3 -3
- package/esm2022/lib/effects/depth.mjs +3 -3
- package/esm2022/lib/effects/dot-screen.mjs +3 -3
- package/esm2022/lib/effects/fxaa.mjs +3 -3
- package/esm2022/lib/effects/glitch.mjs +5 -5
- package/esm2022/lib/effects/god-rays.mjs +5 -1
- package/esm2022/lib/effects/grid.mjs +5 -1
- package/esm2022/lib/effects/hue-saturation.mjs +3 -3
- package/esm2022/lib/effects/lens-flare.mjs +5 -1
- package/esm2022/lib/effects/lut.mjs +5 -1
- package/esm2022/lib/effects/noise.mjs +3 -3
- package/esm2022/lib/effects/pixelation.mjs +7 -3
- package/esm2022/lib/effects/scanline.mjs +3 -3
- package/esm2022/lib/effects/sepia.mjs +3 -3
- package/esm2022/lib/effects/shock-wave.mjs +3 -3
- package/esm2022/lib/effects/smaa.mjs +3 -3
- package/esm2022/lib/effects/tilt-shift-2.mjs +3 -3
- package/esm2022/lib/effects/tilt-shift.mjs +3 -3
- package/esm2022/lib/effects/vignette.mjs +3 -3
- package/esm2022/lib/effects/water.mjs +3 -3
- package/esm2022/n8ao/lib/n8ao.mjs +5 -1
- package/fesm2022/angular-three-postprocessing-n8ao.mjs +4 -0
- package/fesm2022/angular-three-postprocessing-n8ao.mjs.map +1 -1
- package/fesm2022/angular-three-postprocessing.mjs +67 -35
- package/fesm2022/angular-three-postprocessing.mjs.map +1 -1
- package/lib/effect-composer.d.ts +12 -15
- package/lib/effect.d.ts +0 -4
- package/lib/effects/ascii.d.ts +1 -0
- package/lib/effects/pixelation.d.ts +1 -0
- package/package.json +1 -1
|
@@ -46,6 +46,10 @@ export class NgtpN8AO {
|
|
|
46
46
|
effect(() => {
|
|
47
47
|
this.setQualityEffect();
|
|
48
48
|
});
|
|
49
|
+
effect((onCleanup) => {
|
|
50
|
+
const effect = this.effect();
|
|
51
|
+
onCleanup(() => effect.dispose());
|
|
52
|
+
});
|
|
49
53
|
}
|
|
50
54
|
setQualityEffect() {
|
|
51
55
|
const effect = this.effect();
|
|
@@ -75,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
75
79
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
76
80
|
}]
|
|
77
81
|
}], ctorParameters: () => [] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibjhhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvbjhhby9zcmMvbGliL244YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQTJCdkQsTUFBTSxjQUFjLEdBQW9CO0lBQ3ZDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsUUFBUSxFQUFFLEdBQUc7SUFDYixPQUFPLEVBQUUsR0FBRztJQUNaLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGVBQWUsRUFBRSxHQUFHO0lBQ3BCLFNBQVMsRUFBRSxDQUFDO0lBQ1osaUJBQWlCLEVBQUUsR0FBRztJQUN0QixVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVUsRUFBRSxHQUFHO0lBQ2YsY0FBYyxFQUFFLEdBQUc7SUFDbkIsS0FBSyxFQUFFLE9BQU87SUFDZCxlQUFlLEVBQUUsSUFBSTtJQUNyQixzQkFBc0IsRUFBRSxLQUFLO0lBQzdCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsVUFBVSxFQUFFLEtBQUs7Q0FDakIsQ0FBQztBQVlGLE1BQU0sT0FBTyxRQUFRO0lBWXBCO1FBWEEsWUFBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRSxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFeEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDcEYsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFHRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVO2dCQUFFLE9BQU87WUFFeEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekQsVUFBVSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXBCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFFckIsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBeENXLFFBQVE7bUdBQVIsUUFBUSwrTUFQVjs7RUFFVCw0REFDUyxPQUFPOzs0RkFJTCxRQUFRO2tCQVZwQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOztFQUVUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1leHBlY3QtZXJyb3IgLSBuOGFvIGlzIG5vdCB0eXBlZFxuaW1wb3J0IHsgTjhBT1Bvc3RQYXNzIH0gZnJvbSAnbjhhbyc7XG5cbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0aW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXBwbHlQcm9wcywgTmd0QXJncywgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0cEVmZmVjdENvbXBvc2VyIH0gZnJvbSAnYW5ndWxhci10aHJlZS1wb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBDb2xvclJlcHJlc2VudGF0aW9uIH0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHBOOEFPT3B0aW9ucyB7XG5cdGFvUmFkaXVzOiBudW1iZXI7XG5cdGFvVG9uZXM6IG51bWJlcjtcblx0ZGlzdGFuY2VGYWxsb2ZmOiBudW1iZXI7XG5cdGludGVuc2l0eTogbnVtYmVyO1xuXHRiaWFzT2Zmc2V0OiBudW1iZXI7XG5cdGJpYXNNdWx0aXBsaWVyOiBudW1iZXI7XG5cdGFvU2FtcGxlczogbnVtYmVyO1xuXHRkZW5vaXNlU2FtcGxlczogbnVtYmVyO1xuXHRkZW5vaXNlUmFkaXVzOiBudW1iZXI7XG5cdGNvbG9yOiBDb2xvclJlcHJlc2VudGF0aW9uO1xuXHRoYWxmUmVzOiBib29sZWFuO1xuXHRkZXB0aEF3YXJlVXBzYW1wbGluZzogYm9vbGVhbjtcblx0c2NyZWVuU3BhY2VSYWRpdXM6IGJvb2xlYW47XG5cdHJlbmRlck1vZGU6IDAgfCAxIHwgMiB8IDMgfCA0O1xuXHRkZW5vaXNlSXRlcmF0aW9uczogbnVtYmVyO1xuXHR0cmFuc3BhcmVuY3lBd2FyZTogYm9vbGVhbjtcblx0Z2FtbWFDb3JyZWN0aW9uOiBib29sZWFuO1xuXHRsb2dhcml0aG1pY0RlcHRoQnVmZmVyOiBib29sZWFuO1xuXHRjb2xvck11bHRpcGx5OiBib29sZWFuO1xuXHRhY2N1bXVsYXRlOiBib29sZWFuO1xuXHRxdWFsaXR5PzogJ3BlcmZvcm1hbmNlJyB8ICdsb3cnIHwgJ21lZGl1bScgfCAnaGlnaCcgfCAndWx0cmEnO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0cE44QU9PcHRpb25zID0ge1xuXHRhb1NhbXBsZXM6IDE2LFxuXHRhb1JhZGl1czogNS4wLFxuXHRhb1RvbmVzOiAwLjAsXG5cdGRlbm9pc2VTYW1wbGVzOiA4LFxuXHRkZW5vaXNlUmFkaXVzOiAxMixcblx0ZGlzdGFuY2VGYWxsb2ZmOiAxLjAsXG5cdGludGVuc2l0eTogNSxcblx0ZGVub2lzZUl0ZXJhdGlvbnM6IDIuMCxcblx0cmVuZGVyTW9kZTogMCxcblx0Ymlhc09mZnNldDogMC4wLFxuXHRiaWFzTXVsdGlwbGllcjogMC4wLFxuXHRjb2xvcjogJ2JsYWNrJyxcblx0Z2FtbWFDb3JyZWN0aW9uOiB0cnVlLFxuXHRsb2dhcml0aG1pY0RlcHRoQnVmZmVyOiBmYWxzZSxcblx0c2NyZWVuU3BhY2VSYWRpdXM6IGZhbHNlLFxuXHRoYWxmUmVzOiBmYWxzZSxcblx0ZGVwdGhBd2FyZVVwc2FtcGxpbmc6IHRydWUsXG5cdGNvbG9yTXVsdGlwbHk6IHRydWUsXG5cdHRyYW5zcGFyZW5jeUF3YXJlOiBmYWxzZSxcblx0YWNjdW11bGF0ZTogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLW44YW8nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2VmZmVjdCgpXVwiIC8+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cE44QU8ge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0cHJpdmF0ZSBxdWFsaXR5ID0gcGljayh0aGlzLm9wdGlvbnMsICdxdWFsaXR5Jyk7XG5cblx0cHJpdmF0ZSBlZmZlY3RDb21wb3NlciA9IGluamVjdChOZ3RwRWZmZWN0Q29tcG9zZXIpO1xuXG5cdGVmZmVjdCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbc2NlbmUsIGNhbWVyYV0gPSBbdGhpcy5lZmZlY3RDb21wb3Nlci5zY2VuZSgpLCB0aGlzLmVmZmVjdENvbXBvc2VyLmNhbWVyYSgpXTtcblx0XHRyZXR1cm4gbmV3IE44QU9Qb3N0UGFzcyhzY2VuZSwgY2FtZXJhKTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IG44YW9FZmZlY3QgPSB0aGlzLmVmZmVjdCgpO1xuXHRcdFx0aWYgKCFuOGFvRWZmZWN0KSByZXR1cm47XG5cblx0XHRcdGNvbnN0IHsgcXVhbGl0eTogXywgLi4uY29uZmlndXJhdGlvbnMgfSA9IHRoaXMub3B0aW9ucygpO1xuXHRcdFx0YXBwbHlQcm9wcyhuOGFvRWZmZWN0LmNvbmZpZ3VyYXRpb24sIGNvbmZpZ3VyYXRpb25zKTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHR0aGlzLnNldFF1YWxpdHlFZmZlY3QoKTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBlZmZlY3QgPSB0aGlzLmVmZmVjdCgpO1xuXHRcdFx0b25DbGVhbnVwKCgpID0+IGVmZmVjdC5kaXNwb3NlKCkpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRRdWFsaXR5RWZmZWN0KCkge1xuXHRcdGNvbnN0IGVmZmVjdCA9IHRoaXMuZWZmZWN0KCk7XG5cdFx0aWYgKCFlZmZlY3QpIHJldHVybjtcblxuXHRcdGNvbnN0IHF1YWxpdHkgPSB0aGlzLnF1YWxpdHkoKTtcblx0XHRpZiAoIXF1YWxpdHkpIHJldHVybjtcblxuXHRcdGNvbnN0IHRpdGxlQ2FzZVF1YWxpdHkgPSBxdWFsaXR5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcXVhbGl0eS5zbGljZSgxKTtcblx0XHRlZmZlY3Quc2V0UXVhbGl0eSh0aXRsZUNhc2VRdWFsaXR5KTtcblx0fVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-postprocessing-n8ao.mjs","sources":["../../../../libs/postprocessing/n8ao/src/lib/n8ao.ts","../../../../libs/postprocessing/n8ao/src/angular-three-postprocessing-n8ao.ts"],"sourcesContent":["// @ts-expect-error - n8ao is not typed\nimport { N8AOPostPass } from 'n8ao';\n\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\teffect,\n\tinject,\n\tinput,\n} from '@angular/core';\nimport { applyProps, NgtArgs, pick } from 'angular-three';\nimport { NgtpEffectComposer } from 'angular-three-postprocessing';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { ColorRepresentation } from 'three';\n\nexport interface NgtpN8AOOptions {\n\taoRadius: number;\n\taoTones: number;\n\tdistanceFalloff: number;\n\tintensity: number;\n\tbiasOffset: number;\n\tbiasMultiplier: number;\n\taoSamples: number;\n\tdenoiseSamples: number;\n\tdenoiseRadius: number;\n\tcolor: ColorRepresentation;\n\thalfRes: boolean;\n\tdepthAwareUpsampling: boolean;\n\tscreenSpaceRadius: boolean;\n\trenderMode: 0 | 1 | 2 | 3 | 4;\n\tdenoiseIterations: number;\n\ttransparencyAware: boolean;\n\tgammaCorrection: boolean;\n\tlogarithmicDepthBuffer: boolean;\n\tcolorMultiply: boolean;\n\taccumulate: boolean;\n\tquality?: 'performance' | 'low' | 'medium' | 'high' | 'ultra';\n}\n\nconst defaultOptions: NgtpN8AOOptions = {\n\taoSamples: 16,\n\taoRadius: 5.0,\n\taoTones: 0.0,\n\tdenoiseSamples: 8,\n\tdenoiseRadius: 12,\n\tdistanceFalloff: 1.0,\n\tintensity: 5,\n\tdenoiseIterations: 2.0,\n\trenderMode: 0,\n\tbiasOffset: 0.0,\n\tbiasMultiplier: 0.0,\n\tcolor: 'black',\n\tgammaCorrection: true,\n\tlogarithmicDepthBuffer: false,\n\tscreenSpaceRadius: false,\n\thalfRes: false,\n\tdepthAwareUpsampling: true,\n\tcolorMultiply: true,\n\ttransparencyAware: false,\n\taccumulate: false,\n};\n\n@Component({\n\tselector: 'ngtp-n8ao',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[effect()]\" />\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtpN8AO {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\n\tprivate quality = pick(this.options, 'quality');\n\n\tprivate effectComposer = inject(NgtpEffectComposer);\n\n\teffect = computed(() => {\n\t\tconst [scene, camera] = [this.effectComposer.scene(), this.effectComposer.camera()];\n\t\treturn new N8AOPostPass(scene, camera);\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst n8aoEffect = this.effect();\n\t\t\tif (!n8aoEffect) return;\n\n\t\t\tconst { quality: _, ...configurations } = this.options();\n\t\t\tapplyProps(n8aoEffect.configuration, configurations);\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.setQualityEffect();\n\t\t});\n\t}\n\n\tprivate setQualityEffect() {\n\t\tconst effect = this.effect();\n\t\tif (!effect) return;\n\n\t\tconst quality = this.quality();\n\t\tif (!quality) return;\n\n\t\tconst titleCaseQuality = quality.charAt(0).toUpperCase() + quality.slice(1);\n\t\teffect.setQuality(titleCaseQuality);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;AAyCA,MAAM,cAAc,GAAoB;AACvC,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,cAAc,EAAE,CAAC;AACjB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,eAAe,EAAE,GAAG;AACpB,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,iBAAiB,EAAE,GAAG;AACtB,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,UAAU,EAAE,GAAG;AACf,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,UAAU,EAAE,KAAK;CACjB,CAAC;MAYW,QAAQ,CAAA;AAYpB,IAAA,WAAA,GAAA;AAXA,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEpE,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAExC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEpD,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;YACtB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;AACpF,YAAA,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;QAGF,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AACjC,YAAA,IAAI,CAAC,UAAU;gBAAE,OAAO;AAExB,YAAA,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AACzD,YAAA,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACtD,SAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAK;YACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzB,SAAC,CAAC,CAAC;KACH;IAEO,gBAAgB,GAAA;AACvB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,MAAM;YAAE,OAAO;AAEpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO;AAErB,QAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5E,QAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;KACpC;+
|
|
1
|
+
{"version":3,"file":"angular-three-postprocessing-n8ao.mjs","sources":["../../../../libs/postprocessing/n8ao/src/lib/n8ao.ts","../../../../libs/postprocessing/n8ao/src/angular-three-postprocessing-n8ao.ts"],"sourcesContent":["// @ts-expect-error - n8ao is not typed\nimport { N8AOPostPass } from 'n8ao';\n\nimport {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tCUSTOM_ELEMENTS_SCHEMA,\n\teffect,\n\tinject,\n\tinput,\n} from '@angular/core';\nimport { applyProps, NgtArgs, pick } from 'angular-three';\nimport { NgtpEffectComposer } from 'angular-three-postprocessing';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport { ColorRepresentation } from 'three';\n\nexport interface NgtpN8AOOptions {\n\taoRadius: number;\n\taoTones: number;\n\tdistanceFalloff: number;\n\tintensity: number;\n\tbiasOffset: number;\n\tbiasMultiplier: number;\n\taoSamples: number;\n\tdenoiseSamples: number;\n\tdenoiseRadius: number;\n\tcolor: ColorRepresentation;\n\thalfRes: boolean;\n\tdepthAwareUpsampling: boolean;\n\tscreenSpaceRadius: boolean;\n\trenderMode: 0 | 1 | 2 | 3 | 4;\n\tdenoiseIterations: number;\n\ttransparencyAware: boolean;\n\tgammaCorrection: boolean;\n\tlogarithmicDepthBuffer: boolean;\n\tcolorMultiply: boolean;\n\taccumulate: boolean;\n\tquality?: 'performance' | 'low' | 'medium' | 'high' | 'ultra';\n}\n\nconst defaultOptions: NgtpN8AOOptions = {\n\taoSamples: 16,\n\taoRadius: 5.0,\n\taoTones: 0.0,\n\tdenoiseSamples: 8,\n\tdenoiseRadius: 12,\n\tdistanceFalloff: 1.0,\n\tintensity: 5,\n\tdenoiseIterations: 2.0,\n\trenderMode: 0,\n\tbiasOffset: 0.0,\n\tbiasMultiplier: 0.0,\n\tcolor: 'black',\n\tgammaCorrection: true,\n\tlogarithmicDepthBuffer: false,\n\tscreenSpaceRadius: false,\n\thalfRes: false,\n\tdepthAwareUpsampling: true,\n\tcolorMultiply: true,\n\ttransparencyAware: false,\n\taccumulate: false,\n};\n\n@Component({\n\tselector: 'ngtp-n8ao',\n\tstandalone: true,\n\ttemplate: `\n\t\t<ngt-primitive *args=\"[effect()]\" />\n\t`,\n\timports: [NgtArgs],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgtpN8AO {\n\toptions = input(defaultOptions, { transform: mergeInputs(defaultOptions) });\n\n\tprivate quality = pick(this.options, 'quality');\n\n\tprivate effectComposer = inject(NgtpEffectComposer);\n\n\teffect = computed(() => {\n\t\tconst [scene, camera] = [this.effectComposer.scene(), this.effectComposer.camera()];\n\t\treturn new N8AOPostPass(scene, camera);\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst n8aoEffect = this.effect();\n\t\t\tif (!n8aoEffect) return;\n\n\t\t\tconst { quality: _, ...configurations } = this.options();\n\t\t\tapplyProps(n8aoEffect.configuration, configurations);\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.setQualityEffect();\n\t\t});\n\n\t\teffect((onCleanup) => {\n\t\t\tconst effect = this.effect();\n\t\t\tonCleanup(() => effect.dispose());\n\t\t});\n\t}\n\n\tprivate setQualityEffect() {\n\t\tconst effect = this.effect();\n\t\tif (!effect) return;\n\n\t\tconst quality = this.quality();\n\t\tif (!quality) return;\n\n\t\tconst titleCaseQuality = quality.charAt(0).toUpperCase() + quality.slice(1);\n\t\teffect.setQuality(titleCaseQuality);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, input, Directive, Injector, computed, viewChild, effect,
|
|
2
|
+
import { inject, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, input, Directive, Injector, computed, viewChild, effect, untracked } from '@angular/core';
|
|
3
3
|
import { injectStore, pick, extend, getLocalState, injectBeforeRender, NgtArgs, vector2, is, NgtSelection, omit, resolveRef } from 'angular-three';
|
|
4
4
|
import { createNoopInjectionToken } from 'ngxtension/create-injection-token';
|
|
5
5
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
@@ -52,7 +52,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
52
52
|
type: Directive,
|
|
53
53
|
args: [{ standalone: true }]
|
|
54
54
|
}] });
|
|
55
|
-
const NgtpEffectHostDirective = { directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] };
|
|
56
55
|
|
|
57
56
|
const defaultOptions$4 = {
|
|
58
57
|
enabled: true,
|
|
@@ -77,11 +76,19 @@ class NgtpEffectComposer {
|
|
|
77
76
|
this.stencilBuffer = pick(this.options, 'stencilBuffer');
|
|
78
77
|
this.multisampling = pick(this.options, 'multisampling');
|
|
79
78
|
this.frameBufferType = pick(this.options, 'frameBufferType');
|
|
80
|
-
this.scene = computed(() => this.options().scene ?? this.defaultScene());
|
|
81
|
-
this.camera = computed(() => this.options().camera ?? this.defaultCamera());
|
|
82
79
|
this.enableNormalPass = pick(this.options, 'enableNormalPass');
|
|
83
80
|
this.resolutionScale = pick(this.options, 'resolutionScale');
|
|
81
|
+
this.enabled = pick(this.options, 'enabled');
|
|
82
|
+
this.renderPriority = pick(this.options, 'renderPriority');
|
|
83
|
+
this.scene = computed(() => this.options().scene ?? this.defaultScene());
|
|
84
|
+
this.camera = computed(() => this.options().camera ?? this.defaultCamera());
|
|
84
85
|
this.groupRef = viewChild.required('group');
|
|
86
|
+
this.priority = computed(() => {
|
|
87
|
+
const enabled = this.enabled();
|
|
88
|
+
if (!enabled)
|
|
89
|
+
return 0;
|
|
90
|
+
return this.renderPriority();
|
|
91
|
+
});
|
|
85
92
|
this.composerData = computed(() => {
|
|
86
93
|
const webGL2Available = isWebGL2Available();
|
|
87
94
|
const [gl, scene, camera, depthBuffer, stencilBuffer, multisampling, frameBufferType, enableNormalPass, resolutionScale,] = [
|
|
@@ -137,13 +144,13 @@ class NgtpEffectComposer {
|
|
|
137
144
|
});
|
|
138
145
|
effect((onCleanup) => {
|
|
139
146
|
const [group, { composer, normalPass, downSamplingPass }, camera] = [
|
|
140
|
-
this.groupRef(),
|
|
147
|
+
this.groupRef().nativeElement,
|
|
141
148
|
this.composerData(),
|
|
142
149
|
this.camera(),
|
|
143
150
|
];
|
|
144
151
|
const passes = [];
|
|
145
|
-
if (
|
|
146
|
-
const localState = getLocalState(group
|
|
152
|
+
if (composer) {
|
|
153
|
+
const localState = getLocalState(group);
|
|
147
154
|
if (!localState)
|
|
148
155
|
return;
|
|
149
156
|
const children = localState.nonObjects();
|
|
@@ -184,9 +191,9 @@ class NgtpEffectComposer {
|
|
|
184
191
|
downSamplingPass.enabled = false;
|
|
185
192
|
});
|
|
186
193
|
});
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
injectBeforeRender(({ delta }) => {
|
|
194
|
+
effect((onCleanup) => {
|
|
195
|
+
const priority = this.priority();
|
|
196
|
+
const sub = injectBeforeRender(({ delta }) => {
|
|
190
197
|
const [{ composer }, { enabled, autoClear, stencilBuffer }, gl] = [
|
|
191
198
|
this.composerData(),
|
|
192
199
|
this.options(),
|
|
@@ -200,7 +207,8 @@ class NgtpEffectComposer {
|
|
|
200
207
|
composer.render(delta);
|
|
201
208
|
gl.autoClear = currentAutoClear;
|
|
202
209
|
}
|
|
203
|
-
}, { injector: this.injector, priority
|
|
210
|
+
}, { injector: this.injector, priority });
|
|
211
|
+
onCleanup(() => sub());
|
|
204
212
|
});
|
|
205
213
|
}
|
|
206
214
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpEffectComposer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -319,6 +327,10 @@ class NgtpASCII {
|
|
|
319
327
|
constructor() {
|
|
320
328
|
this.options = input(defaultOptions$3, { transform: mergeInputs(defaultOptions$3) });
|
|
321
329
|
this.effect = computed(() => new ASCIIEffect(this.options()));
|
|
330
|
+
effect((onCleanup) => {
|
|
331
|
+
const effect = this.effect();
|
|
332
|
+
onCleanup(() => effect.dispose());
|
|
333
|
+
});
|
|
322
334
|
}
|
|
323
335
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpASCII, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
324
336
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtpASCII, isStandalone: true, selector: "ngtp-ascii", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -337,7 +349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
337
349
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
338
350
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
339
351
|
}]
|
|
340
|
-
}] });
|
|
352
|
+
}], ctorParameters: () => [] });
|
|
341
353
|
|
|
342
354
|
extend({ BloomEffect });
|
|
343
355
|
class NgtpBloom {
|
|
@@ -367,7 +379,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
367
379
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
368
380
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
369
381
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
370
|
-
hostDirectives: [
|
|
382
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
371
383
|
providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.ADD })],
|
|
372
384
|
}]
|
|
373
385
|
}] });
|
|
@@ -400,7 +412,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
400
412
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
401
413
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
402
414
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
403
|
-
hostDirectives: [
|
|
415
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
404
416
|
}]
|
|
405
417
|
}] });
|
|
406
418
|
|
|
@@ -432,7 +444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
432
444
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
433
445
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
434
446
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
435
|
-
hostDirectives: [
|
|
447
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
436
448
|
}]
|
|
437
449
|
}] });
|
|
438
450
|
|
|
@@ -492,7 +504,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
492
504
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
493
505
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
494
506
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
495
|
-
hostDirectives: [
|
|
507
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
496
508
|
}]
|
|
497
509
|
}] });
|
|
498
510
|
|
|
@@ -524,7 +536,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
524
536
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
525
537
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
526
538
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
527
|
-
hostDirectives: [
|
|
539
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
528
540
|
}]
|
|
529
541
|
}] });
|
|
530
542
|
|
|
@@ -600,7 +612,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
600
612
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
601
613
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
602
614
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
603
|
-
hostDirectives: [
|
|
615
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
604
616
|
}]
|
|
605
617
|
}] });
|
|
606
618
|
|
|
@@ -632,7 +644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
632
644
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
633
645
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
634
646
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
635
|
-
hostDirectives: [
|
|
647
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
636
648
|
}]
|
|
637
649
|
}] });
|
|
638
650
|
|
|
@@ -661,15 +673,15 @@ class NgtpGlitch {
|
|
|
661
673
|
strength,
|
|
662
674
|
});
|
|
663
675
|
});
|
|
664
|
-
effect((onCleanup) => {
|
|
665
|
-
const effect = this.effect();
|
|
666
|
-
onCleanup(() => effect.dispose());
|
|
667
|
-
});
|
|
668
676
|
effect(() => {
|
|
669
677
|
const [glitchEffect, invalidate, mode, active] = [this.effect(), this.invalidate(), this.mode(), this.active()];
|
|
670
678
|
glitchEffect.mode = active ? mode || GlitchMode.SPORADIC : GlitchMode.DISABLED;
|
|
671
679
|
invalidate();
|
|
672
680
|
});
|
|
681
|
+
effect((onCleanup) => {
|
|
682
|
+
const effect = this.effect();
|
|
683
|
+
onCleanup(() => effect.dispose());
|
|
684
|
+
});
|
|
673
685
|
}
|
|
674
686
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpGlitch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
675
687
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtpGlitch, isStandalone: true, selector: "ngtp-glitch", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -702,6 +714,10 @@ class NgtpGodRays {
|
|
|
702
714
|
const [sun, godRaysEffect] = [this.options().sun, this.effect()];
|
|
703
715
|
godRaysEffect.lightSource = is.ref(sun) ? sun.nativeElement : sun;
|
|
704
716
|
});
|
|
717
|
+
effect((onCleanup) => {
|
|
718
|
+
const effect = this.effect();
|
|
719
|
+
onCleanup(() => effect.dispose());
|
|
720
|
+
});
|
|
705
721
|
}
|
|
706
722
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpGodRays, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
707
723
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtpGodRays, isStandalone: true, selector: "ngtp-god-rays", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -736,6 +752,10 @@ class NgtpGrid {
|
|
|
736
752
|
effect.setSize(size.width, size.height);
|
|
737
753
|
}
|
|
738
754
|
});
|
|
755
|
+
effect((onCleanup) => {
|
|
756
|
+
const effect = this.effect();
|
|
757
|
+
onCleanup(() => effect.dispose());
|
|
758
|
+
});
|
|
739
759
|
}
|
|
740
760
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
741
761
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtpGrid, isStandalone: true, selector: "ngtp-grid", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -784,7 +804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
784
804
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
785
805
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
786
806
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
787
|
-
hostDirectives: [
|
|
807
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
788
808
|
}]
|
|
789
809
|
}] });
|
|
790
810
|
|
|
@@ -898,6 +918,10 @@ class NgtpLensFlare {
|
|
|
898
918
|
iResolution.value.y = viewport.height;
|
|
899
919
|
}
|
|
900
920
|
});
|
|
921
|
+
effect((onCleanup) => {
|
|
922
|
+
const effect = this.effect();
|
|
923
|
+
onCleanup(() => effect.dispose());
|
|
924
|
+
});
|
|
901
925
|
injectBeforeRender(({ delta }) => {
|
|
902
926
|
const [effect] = [this.effect()];
|
|
903
927
|
if (!effect)
|
|
@@ -993,6 +1017,10 @@ class NgtpLUT {
|
|
|
993
1017
|
effect.lut = lut;
|
|
994
1018
|
invalidate();
|
|
995
1019
|
});
|
|
1020
|
+
effect((onCleanup) => {
|
|
1021
|
+
const effect = this.effect();
|
|
1022
|
+
onCleanup(() => effect.dispose());
|
|
1023
|
+
});
|
|
996
1024
|
}
|
|
997
1025
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpLUT, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
998
1026
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -1041,7 +1069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1041
1069
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1042
1070
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1043
1071
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1044
|
-
hostDirectives: [
|
|
1072
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1045
1073
|
providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.COLOR_DODGE })],
|
|
1046
1074
|
}]
|
|
1047
1075
|
}] });
|
|
@@ -1191,6 +1219,10 @@ class NgtpPixelation {
|
|
|
1191
1219
|
this.options = input({ granularity: 5 }, { transform: mergeInputs({ granularity: 5 }) });
|
|
1192
1220
|
this.granularity = pick(this.options, 'granularity');
|
|
1193
1221
|
this.effect = computed(() => new PixelationEffect(this.granularity()));
|
|
1222
|
+
effect((onCleanup) => {
|
|
1223
|
+
const effect = this.effect();
|
|
1224
|
+
onCleanup(() => effect.dispose());
|
|
1225
|
+
});
|
|
1194
1226
|
}
|
|
1195
1227
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtpPixelation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1196
1228
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: NgtpPixelation, isStandalone: true, selector: "ngtp-pixelation", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
@@ -1209,7 +1241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1209
1241
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1210
1242
|
imports: [NgtArgs],
|
|
1211
1243
|
}]
|
|
1212
|
-
}] });
|
|
1244
|
+
}], ctorParameters: () => [] });
|
|
1213
1245
|
|
|
1214
1246
|
extend({ ScanlineEffect });
|
|
1215
1247
|
const defaultOptions = {
|
|
@@ -1242,7 +1274,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1242
1274
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1243
1275
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1244
1276
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1245
|
-
hostDirectives: [
|
|
1277
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1246
1278
|
providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.OVERLAY })],
|
|
1247
1279
|
}]
|
|
1248
1280
|
}] });
|
|
@@ -1275,7 +1307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1275
1307
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1276
1308
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1277
1309
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1278
|
-
hostDirectives: [
|
|
1310
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1279
1311
|
}]
|
|
1280
1312
|
}] });
|
|
1281
1313
|
|
|
@@ -1307,7 +1339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1307
1339
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1308
1340
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1309
1341
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1310
|
-
hostDirectives: [
|
|
1342
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1311
1343
|
}]
|
|
1312
1344
|
}] });
|
|
1313
1345
|
|
|
@@ -1339,7 +1371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1339
1371
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1340
1372
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1341
1373
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1342
|
-
hostDirectives: [
|
|
1374
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1343
1375
|
}]
|
|
1344
1376
|
}] });
|
|
1345
1377
|
|
|
@@ -1371,7 +1403,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1371
1403
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1372
1404
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1373
1405
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1374
|
-
hostDirectives: [
|
|
1406
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1375
1407
|
providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.ADD })],
|
|
1376
1408
|
}]
|
|
1377
1409
|
}] });
|
|
@@ -1485,7 +1517,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1485
1517
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1486
1518
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1487
1519
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1488
|
-
hostDirectives: [
|
|
1520
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1489
1521
|
providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.NORMAL })],
|
|
1490
1522
|
}]
|
|
1491
1523
|
}] });
|
|
@@ -1595,7 +1627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1595
1627
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1596
1628
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1597
1629
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1598
|
-
hostDirectives: [
|
|
1630
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1599
1631
|
}]
|
|
1600
1632
|
}] });
|
|
1601
1633
|
|
|
@@ -1651,7 +1683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1651
1683
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
1652
1684
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1653
1685
|
imports: [NgtArgs, NgtpEffectBlendMode],
|
|
1654
|
-
hostDirectives: [
|
|
1686
|
+
hostDirectives: [{ directive: NgtpEffect, inputs: ['blendFunction', 'opacity'] }],
|
|
1655
1687
|
providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.NORMAL })],
|
|
1656
1688
|
}]
|
|
1657
1689
|
}] });
|
|
@@ -1660,5 +1692,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
|
|
|
1660
1692
|
* Generated bundle index. Do not edit.
|
|
1661
1693
|
*/
|
|
1662
1694
|
|
|
1663
|
-
export { ASCIIEffect, LensFlareEffect, NgtpASCII, NgtpBloom, NgtpBrightnessContrast, NgtpChromaticAberration, NgtpColorAverage, NgtpColorDepth, NgtpDepth, NgtpDepthOfField, NgtpDotScreen, NgtpEffect, NgtpEffectBlendMode, NgtpEffectComposer,
|
|
1695
|
+
export { ASCIIEffect, LensFlareEffect, NgtpASCII, NgtpBloom, NgtpBrightnessContrast, NgtpChromaticAberration, NgtpColorAverage, NgtpColorDepth, NgtpDepth, NgtpDepthOfField, NgtpDotScreen, NgtpEffect, NgtpEffectBlendMode, NgtpEffectComposer, NgtpFXAA, NgtpGlitch, NgtpGodRays, NgtpGrid, NgtpHueSaturation, NgtpLUT, NgtpLensFlare, NgtpNoise, NgtpOutline, NgtpPixelation, NgtpSMAA, NgtpScanline, NgtpSepia, NgtpShockWave, NgtpTiltShift, NgtpTiltShift2, NgtpToneMapping, NgtpVignette, NgtpWater, TiltShift2Effect, WaterEffect, injectDefaultEffectOptions, provideDefaultEffectOptions };
|
|
1664
1696
|
//# sourceMappingURL=angular-three-postprocessing.mjs.map
|