angular-three-soba 4.0.0-next.9 → 4.0.0-next.91
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/abstractions/README.md +1 -1
- package/abstractions/lib/catmull-rom-line.d.ts +16 -15
- package/abstractions/lib/edges.d.ts +17 -15
- package/abstractions/lib/text-3d.d.ts +1 -1
- package/abstractions/lib/text.d.ts +5 -1
- package/cameras/lib/camera-content.d.ts +1 -2
- package/cameras/lib/cube-camera.d.ts +2 -2
- package/cameras/lib/orthographic-camera.d.ts +6 -5
- package/cameras/lib/perspective-camera.d.ts +2 -5
- package/controls/README.md +28 -28
- package/controls/index.d.ts +1 -0
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +11 -6
- package/controls/lib/trackball-controls.d.ts +27 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +87 -47
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +61 -37
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +128 -36
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +124 -86
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +82 -86
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +55 -48
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +152 -35
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +183 -144
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +3 -3
- package/gizmos/lib/gizmo-helper/gizmo-helper.d.ts +4 -3
- package/loaders/README.md +39 -39
- package/materials/lib/mesh-transmission-material.d.ts +4 -4
- package/misc/README.md +16 -16
- package/misc/lib/deprecated.d.ts +0 -6
- package/misc/lib/depth-buffer.d.ts +1 -1
- package/misc/lib/fbo.d.ts +1 -3
- package/misc/lib/html/html-content.d.ts +2 -2
- package/misc/lib/html/html.d.ts +4 -4
- package/package.json +6 -6
- package/performances/index.d.ts +1 -0
- package/performances/lib/adaptive-dpr.d.ts +1 -1
- package/performances/lib/bvh.d.ts +49 -0
- package/shaders/lib/mesh-refraction-material.d.ts +2 -2
- package/staging/lib/caustics.d.ts +3 -3
- package/staging/lib/environment/inject-environment.d.ts +1 -2
- package/staging/lib/render-texture.d.ts +5 -4
- package/staging/lib/stage.d.ts +12 -11
|
@@ -204,8 +204,8 @@ class NgtsLoader {
|
|
|
204
204
|
onCleanup(() => cancelAnimationFrame(rafId));
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1
|
|
207
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
208
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.1", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
209
209
|
@if (shown()) {
|
|
210
210
|
<div
|
|
211
211
|
class="ngts-loader-container"
|
|
@@ -226,7 +226,7 @@ class NgtsLoader {
|
|
|
226
226
|
}
|
|
227
227
|
`, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:#fff;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
228
228
|
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsLoader, decorators: [{
|
|
230
230
|
type: Component,
|
|
231
231
|
args: [{ selector: 'ngts-loader', template: `
|
|
232
232
|
@if (shown()) {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, computed, effect, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, inject, DestroyRef,
|
|
2
|
+
import { input, computed, effect, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, inject, DestroyRef, Directive, viewChild, contentChild, TemplateRef, signal, untracked } from '@angular/core';
|
|
3
3
|
import { omit, is, pick, NgtArgs, injectBeforeRender, injectStore, getInstanceState, extend, applyProps } from 'angular-three';
|
|
4
4
|
import CustomShaderMaterial from 'three-custom-shader-material/vanilla';
|
|
5
5
|
import { MeshDistortMaterial, MeshPortalMaterial, meshPortalMaterialApplySDF, BlurPass, MeshReflectorMaterial, MeshDiscardMaterial, MeshTransmissionMaterial, MeshWobbleMaterial } from 'angular-three-soba/vanilla-exports';
|
|
6
6
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
7
7
|
import { NgTemplateOutlet } from '@angular/common';
|
|
8
8
|
import { injectFBO, getVersion, injectIntersect } from 'angular-three-soba/misc';
|
|
9
|
-
import
|
|
9
|
+
import * as i1 from 'angular-three-soba/staging';
|
|
10
|
+
import { NgtsRenderTexture } from 'angular-three-soba/staging';
|
|
10
11
|
import * as THREE from 'three';
|
|
11
12
|
import { FullScreenQuad } from 'three-stdlib';
|
|
12
13
|
import { MeshRefractionMaterial, PointMaterial } from 'angular-three-soba/shaders';
|
|
@@ -52,14 +53,14 @@ class NgtsCustomShaderMaterial {
|
|
|
52
53
|
onCleanup(() => material.dispose());
|
|
53
54
|
});
|
|
54
55
|
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsCustomShaderMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: NgtsCustomShaderMaterial, isStandalone: true, selector: "ngts-custom-shader-material", inputs: { baseMaterial: { classPropertyName: "baseMaterial", publicName: "baseMaterial", isSignal: true, isRequired: true, transformFunction: null }, attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
57
58
|
<ngt-primitive *args="[material()]" [attach]="attach()" [parameters]="parameters()">
|
|
58
59
|
<ng-content />
|
|
59
60
|
</ngt-primitive>
|
|
60
61
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
61
62
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsCustomShaderMaterial, decorators: [{
|
|
63
64
|
type: Component,
|
|
64
65
|
args: [{
|
|
65
66
|
selector: 'ngts-custom-shader-material',
|
|
@@ -86,17 +87,17 @@ class NgtsMeshDistortMaterial {
|
|
|
86
87
|
this.speed = pick(this.options, 'speed');
|
|
87
88
|
inject(DestroyRef).onDestroy(() => this.material.dispose());
|
|
88
89
|
injectBeforeRender(({ clock }) => {
|
|
89
|
-
this.material.time = clock.
|
|
90
|
+
this.material.time = clock.elapsedTime * this.speed();
|
|
90
91
|
});
|
|
91
92
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1
|
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: NgtsMeshDistortMaterial, isStandalone: true, selector: "ngts-mesh-distort-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
94
95
|
<ngt-primitive *args="[material]" [attach]="attach()" [parameters]="parameters()">
|
|
95
96
|
<ng-content />
|
|
96
97
|
</ngt-primitive>
|
|
97
98
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
99
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
|
|
100
101
|
type: Component,
|
|
101
102
|
args: [{
|
|
102
103
|
selector: 'ngts-mesh-distort-material',
|
|
@@ -121,7 +122,6 @@ class ManagePortalScene {
|
|
|
121
122
|
this.material = input.required();
|
|
122
123
|
this.priority = input.required();
|
|
123
124
|
this.worldUnits = input.required();
|
|
124
|
-
const injector = inject(Injector);
|
|
125
125
|
const renderTextureStore = injectStore();
|
|
126
126
|
const buffer1 = injectFBO();
|
|
127
127
|
const buffer2 = injectFBO();
|
|
@@ -130,8 +130,8 @@ class ManagePortalScene {
|
|
|
130
130
|
const blend = { value: 0 };
|
|
131
131
|
const quad = new FullScreenQuad(new THREE.ShaderMaterial({
|
|
132
132
|
uniforms: {
|
|
133
|
-
a: { value: buffer1
|
|
134
|
-
b: { value: buffer2
|
|
133
|
+
a: { value: buffer1.texture },
|
|
134
|
+
b: { value: buffer2.texture },
|
|
135
135
|
blend,
|
|
136
136
|
},
|
|
137
137
|
vertexShader: /*glsl*/ `
|
|
@@ -165,61 +165,57 @@ class ManagePortalScene {
|
|
|
165
165
|
return;
|
|
166
166
|
setEvents({ enabled: events });
|
|
167
167
|
});
|
|
168
|
-
|
|
168
|
+
injectBeforeRender(({ gl, camera }) => {
|
|
169
|
+
const material = this.material();
|
|
170
|
+
const instanceState = getInstanceState(material);
|
|
171
|
+
if (!instanceState)
|
|
172
|
+
return;
|
|
173
|
+
const parent = instanceState.parent();
|
|
174
|
+
if (!parent)
|
|
175
|
+
return;
|
|
169
176
|
const priority = this.priority();
|
|
170
|
-
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
177
|
+
const materialBlend = 'blend' in material && typeof material.blend === 'number' ? material.blend : 0;
|
|
178
|
+
const [worldUnits, rootScene, scene, [quad, blend]] = [
|
|
179
|
+
this.worldUnits(),
|
|
180
|
+
this.rootScene(),
|
|
181
|
+
renderTextureStore.snapshot.scene,
|
|
182
|
+
fullScreenQuad(),
|
|
183
|
+
];
|
|
184
|
+
// Move portal contents along with the parent if worldUnits is true
|
|
185
|
+
if (!worldUnits) {
|
|
186
|
+
// If the portal renders exclusively the original scene needs to be updated
|
|
187
|
+
if (priority && materialBlend === 1)
|
|
188
|
+
parent['updateWorldMatrix'](true, false);
|
|
189
|
+
scene.matrixWorld.copy(parent['matrixWorld']);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
scene.matrixWorld.identity();
|
|
193
|
+
}
|
|
194
|
+
// This bit is only necessary if the portal is blended, now it has a render-priority
|
|
195
|
+
// and will take over the render loop
|
|
196
|
+
if (priority) {
|
|
197
|
+
if (materialBlend > 0 && materialBlend < 1) {
|
|
198
|
+
// If blend is ongoing (> 0 and < 1) then we need to render both the root scene
|
|
199
|
+
// and the portal scene, both will then be mixed in the quad from above
|
|
200
|
+
blend.value = materialBlend;
|
|
201
|
+
gl.setRenderTarget(buffer1);
|
|
202
|
+
gl.render(scene, camera);
|
|
203
|
+
gl.setRenderTarget(buffer2);
|
|
204
|
+
gl.render(rootScene, camera);
|
|
205
|
+
gl.setRenderTarget(null);
|
|
206
|
+
quad.render(gl);
|
|
195
207
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (materialBlend > 0 && materialBlend < 1) {
|
|
200
|
-
// If blend is ongoing (> 0 and < 1) then we need to render both the root scene
|
|
201
|
-
// and the portal scene, both will then be mixed in the quad from above
|
|
202
|
-
blend.value = materialBlend;
|
|
203
|
-
gl.setRenderTarget(buffer1());
|
|
204
|
-
gl.render(scene, camera);
|
|
205
|
-
gl.setRenderTarget(buffer2());
|
|
206
|
-
gl.render(rootScene, camera);
|
|
207
|
-
gl.setRenderTarget(null);
|
|
208
|
-
quad.render(gl);
|
|
209
|
-
}
|
|
210
|
-
else if (materialBlend === 1) {
|
|
211
|
-
// However if blend is 1 we only need to render the portal scene
|
|
212
|
-
gl.render(scene, camera);
|
|
213
|
-
}
|
|
208
|
+
else if (materialBlend === 1) {
|
|
209
|
+
// However if blend is 1 we only need to render the portal scene
|
|
210
|
+
gl.render(scene, camera);
|
|
214
211
|
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
});
|
|
212
|
+
}
|
|
213
|
+
}, { priority: this.priority });
|
|
218
214
|
}
|
|
219
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
220
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1
|
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ManagePortalScene, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
216
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: ManagePortalScene, isStandalone: true, selector: "ngts-manage-portal-scene", inputs: { events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null }, rootScene: { classPropertyName: "rootScene", publicName: "rootScene", isSignal: true, isRequired: true, transformFunction: null }, material: { classPropertyName: "material", publicName: "material", isSignal: true, isRequired: true, transformFunction: null }, priority: { classPropertyName: "priority", publicName: "priority", isSignal: true, isRequired: true, transformFunction: null }, worldUnits: { classPropertyName: "worldUnits", publicName: "worldUnits", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
221
217
|
}
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: ManagePortalScene, decorators: [{
|
|
223
219
|
type: Directive,
|
|
224
220
|
args: [{ selector: 'ngts-manage-portal-scene' }]
|
|
225
221
|
}], ctorParameters: () => [] });
|
|
@@ -321,8 +317,8 @@ class NgtsMeshPortalMaterial {
|
|
|
321
317
|
}
|
|
322
318
|
});
|
|
323
319
|
}
|
|
324
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
325
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
320
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshPortalMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
321
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsMeshPortalMaterial, isStandalone: true, selector: "ngts-mesh-portal-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
326
322
|
<ngt-mesh-portal-material
|
|
327
323
|
#material
|
|
328
324
|
[attach]="attach()"
|
|
@@ -351,9 +347,9 @@ class NgtsMeshPortalMaterial {
|
|
|
351
347
|
</ng-template>
|
|
352
348
|
</ngts-render-texture>
|
|
353
349
|
</ngt-mesh-portal-material>
|
|
354
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
350
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.NgtsRenderTextureImpl, selector: "ngts-render-texture", inputs: ["attach", "options"] }, { kind: "directive", type: i1.NgtsRenderTextureContent, selector: "ng-template[renderTextureContent]" }, { kind: "directive", type: ManagePortalScene, selector: "ngts-manage-portal-scene", inputs: ["events", "rootScene", "material", "priority", "worldUnits"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
355
351
|
}
|
|
356
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
352
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshPortalMaterial, decorators: [{
|
|
357
353
|
type: Component,
|
|
358
354
|
args: [{
|
|
359
355
|
selector: 'ngts-mesh-portal-material',
|
|
@@ -389,7 +385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImpor
|
|
|
389
385
|
`,
|
|
390
386
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
391
387
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
392
|
-
imports: [NgtsRenderTexture,
|
|
388
|
+
imports: [NgtsRenderTexture, ManagePortalScene, NgTemplateOutlet],
|
|
393
389
|
}]
|
|
394
390
|
}], ctorParameters: () => [] });
|
|
395
391
|
|
|
@@ -637,14 +633,14 @@ class NgtsMeshReflectorMaterial {
|
|
|
637
633
|
projectionMatrix.elements[10] = this.clipPlane.z + 1.0;
|
|
638
634
|
projectionMatrix.elements[14] = this.clipPlane.w;
|
|
639
635
|
}
|
|
640
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
641
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
636
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
637
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
642
638
|
<ngt-primitive #material *args="[material()]" [attach]="attach()">
|
|
643
639
|
<ng-content />
|
|
644
640
|
</ngt-primitive>
|
|
645
641
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
646
642
|
}
|
|
647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
|
|
648
644
|
type: Component,
|
|
649
645
|
args: [{
|
|
650
646
|
selector: 'ngts-mesh-reflector-material',
|
|
@@ -751,8 +747,8 @@ class NgtsMeshRefractionMaterial {
|
|
|
751
747
|
}
|
|
752
748
|
});
|
|
753
749
|
}
|
|
754
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
755
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
750
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshRefractionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
751
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsMeshRefractionMaterial, isStandalone: true, selector: "ngts-mesh-refraction-material", inputs: { envMap: { classPropertyName: "envMap", publicName: "envMap", isSignal: true, isRequired: true, transformFunction: null }, attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
756
752
|
<ngt-primitive
|
|
757
753
|
*args="[material()]"
|
|
758
754
|
#material
|
|
@@ -767,7 +763,7 @@ class NgtsMeshRefractionMaterial {
|
|
|
767
763
|
</ngt-primitive>
|
|
768
764
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
769
765
|
}
|
|
770
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
766
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshRefractionMaterial, decorators: [{
|
|
771
767
|
type: Component,
|
|
772
768
|
args: [{
|
|
773
769
|
selector: 'ngts-mesh-refraction-material',
|
|
@@ -839,7 +835,7 @@ class NgtsMeshTransmissionMaterial {
|
|
|
839
835
|
this.backResolution = computed(() => this.backsideResolution() || this.resolution());
|
|
840
836
|
this.fboBack = injectFBO(() => ({ width: this.backResolution() }));
|
|
841
837
|
this.fboMain = injectFBO(() => ({ width: this.resolution() }));
|
|
842
|
-
this.bufferTexture = computed(() => this.buffer() || this.fboMain
|
|
838
|
+
this.bufferTexture = computed(() => this.buffer() || this.fboMain.texture);
|
|
843
839
|
this.anisotropicBlurOption = computed(() => this.anisotropicBlur() || this.anisotropy());
|
|
844
840
|
this.discardMaterial = new MeshDiscardMaterial();
|
|
845
841
|
this.material = computed(() => {
|
|
@@ -869,8 +865,8 @@ class NgtsMeshTransmissionMaterial {
|
|
|
869
865
|
if (!material)
|
|
870
866
|
return;
|
|
871
867
|
const [fboMain, fboBack, transmissionSampler, background, backside, backsideThickness, backsideEnvMapIntensity, thickness, side,] = [
|
|
872
|
-
this.fboMain
|
|
873
|
-
this.fboBack
|
|
868
|
+
this.fboMain,
|
|
869
|
+
this.fboBack,
|
|
874
870
|
this.transmissionSampler(),
|
|
875
871
|
this.background(),
|
|
876
872
|
this.backside(),
|
|
@@ -879,7 +875,7 @@ class NgtsMeshTransmissionMaterial {
|
|
|
879
875
|
this.thickness(),
|
|
880
876
|
this.side(),
|
|
881
877
|
];
|
|
882
|
-
material.time = clock.
|
|
878
|
+
material.time = clock.elapsedTime;
|
|
883
879
|
// Render only if the buffer matches the built-in and no transmission sampler is set
|
|
884
880
|
// @ts-expect-error - we know material.buffer is not just undefined | null
|
|
885
881
|
if (material.buffer === fboMain.texture && !transmissionSampler) {
|
|
@@ -927,8 +923,8 @@ class NgtsMeshTransmissionMaterial {
|
|
|
927
923
|
}
|
|
928
924
|
});
|
|
929
925
|
}
|
|
930
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
931
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1
|
|
926
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshTransmissionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
927
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: NgtsMeshTransmissionMaterial, isStandalone: true, selector: "ngts-mesh-transmission-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "materialRef", first: true, predicate: ["material"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
932
928
|
<ngt-primitive
|
|
933
929
|
*args="[material()]"
|
|
934
930
|
#material
|
|
@@ -945,7 +941,7 @@ class NgtsMeshTransmissionMaterial {
|
|
|
945
941
|
</ngt-primitive>
|
|
946
942
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
947
943
|
}
|
|
948
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshTransmissionMaterial, decorators: [{
|
|
949
945
|
type: Component,
|
|
950
946
|
args: [{
|
|
951
947
|
selector: 'ngts-mesh-transmission-material',
|
|
@@ -986,14 +982,14 @@ class NgtsMeshWobbleMaterial {
|
|
|
986
982
|
material.time = clock.elapsedTime * this.options().speed;
|
|
987
983
|
});
|
|
988
984
|
}
|
|
989
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
990
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1
|
|
985
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
986
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: NgtsMeshWobbleMaterial, isStandalone: true, selector: "ngts-mesh-wobble-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
991
987
|
<ngt-primitive *args="[material]" [parameters]="parameters()" [attach]="attach()">
|
|
992
988
|
<ng-content />
|
|
993
989
|
</ngt-primitive>
|
|
994
990
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
995
991
|
}
|
|
996
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
997
993
|
type: Component,
|
|
998
994
|
args: [{
|
|
999
995
|
selector: 'ngts-mesh-wobble-material',
|
|
@@ -1015,14 +1011,14 @@ class NgtsPointMaterial {
|
|
|
1015
1011
|
this.material = new PointMaterial(this.options());
|
|
1016
1012
|
inject(DestroyRef).onDestroy(() => this.material.dispose());
|
|
1017
1013
|
}
|
|
1018
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1
|
|
1019
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1
|
|
1014
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPointMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1015
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: NgtsPointMaterial, isStandalone: true, selector: "ngts-point-material", inputs: { attach: { classPropertyName: "attach", publicName: "attach", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1020
1016
|
<ngt-primitive *args="[material]" [attach]="attach()" [parameters]="options()">
|
|
1021
1017
|
<ng-content />
|
|
1022
1018
|
</ngt-primitive>
|
|
1023
1019
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1024
1020
|
}
|
|
1025
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1
|
|
1021
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: NgtsPointMaterial, decorators: [{
|
|
1026
1022
|
type: Component,
|
|
1027
1023
|
args: [{
|
|
1028
1024
|
selector: 'ngts-point-material',
|