angular-three-soba 1.12.2 → 1.12.4
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/abstractions/lib/billboard/billboard.mjs +3 -3
- package/esm2020/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +3 -3
- package/esm2020/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +3 -3
- package/esm2020/abstractions/lib/edges/edges.mjs +3 -3
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-helper.mjs +6 -6
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +3 -3
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
- package/esm2020/abstractions/lib/line/line-input.mjs +3 -3
- package/esm2020/abstractions/lib/line/line.mjs +3 -3
- package/esm2020/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +3 -3
- package/esm2020/abstractions/lib/text/text.mjs +3 -3
- package/esm2020/abstractions/lib/text-3d/text-3d.mjs +3 -3
- package/esm2020/cameras/lib/camera/camera-content.mjs +3 -3
- package/esm2020/cameras/lib/camera/camera.mjs +3 -3
- package/esm2020/cameras/lib/cube-camera/cube-camera.mjs +3 -3
- package/esm2020/cameras/lib/orthographic-camera/orthographic-camera.mjs +3 -3
- package/esm2020/cameras/lib/perspective-camera/perspective-camera.mjs +3 -3
- package/esm2020/controls/lib/orbit-controls/orbit-controls.mjs +3 -3
- package/esm2020/loaders/lib/loader/loader.mjs +3 -3
- package/esm2020/materials/lib/mesh-distort-material/mesh-distort-material.mjs +3 -3
- package/esm2020/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
- package/esm2020/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +3 -3
- package/esm2020/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
- package/esm2020/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
- package/esm2020/misc/lib/animations/animations.mjs +21 -13
- package/esm2020/misc/lib/bake-shadows/bake-shadows.mjs +3 -3
- package/esm2020/performance/lib/adaptive/adaptive-dpr.mjs +3 -3
- package/esm2020/performance/lib/adaptive/adaptive-events.mjs +3 -3
- package/esm2020/performance/lib/detailed/detailed.mjs +3 -3
- package/esm2020/performance/lib/stats/stats.mjs +3 -3
- package/esm2020/shaders/index.mjs +2 -1
- package/esm2020/shaders/lib/star-field-material/star-field-material.mjs +32 -0
- package/esm2020/staging/lib/accumulative-shadows/accumulative-shadows.mjs +6 -6
- package/esm2020/staging/lib/accumulative-shadows/randomized-lights.mjs +6 -6
- package/esm2020/staging/lib/bounds/bounds.mjs +3 -3
- package/esm2020/staging/lib/camera-shake/camera-shake.mjs +3 -3
- package/esm2020/staging/lib/caustics/caustics.mjs +4 -4
- package/esm2020/staging/lib/center/center.mjs +3 -3
- package/esm2020/staging/lib/cloud/cloud.mjs +3 -3
- package/esm2020/staging/lib/contact-shadows/contact-shadows.mjs +3 -3
- package/esm2020/staging/lib/environment/environment-cube.mjs +3 -3
- package/esm2020/staging/lib/environment/environment-ground.mjs +3 -3
- package/esm2020/staging/lib/environment/environment-inputs.mjs +5 -5
- package/esm2020/staging/lib/environment/environment-map.mjs +3 -3
- package/esm2020/staging/lib/environment/environment-portal.mjs +3 -3
- package/esm2020/staging/lib/environment/environment.mjs +6 -6
- package/esm2020/staging/lib/float/float.mjs +3 -3
- package/esm2020/staging/lib/sky/sky.mjs +3 -3
- package/esm2020/staging/lib/sparkles/sparkles.mjs +3 -3
- package/esm2020/staging/lib/spot-light/shadow-mesh-input.mjs +3 -3
- package/esm2020/staging/lib/spot-light/spot-light-input.mjs +3 -3
- package/esm2020/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +3 -3
- package/esm2020/staging/lib/spot-light/spot-light-shadow-shader.mjs +3 -3
- package/esm2020/staging/lib/spot-light/spot-light-shadow.mjs +3 -3
- package/esm2020/staging/lib/spot-light/spot-light.mjs +3 -3
- package/esm2020/staging/lib/spot-light/volumetric-mesh.mjs +3 -3
- package/esm2020/staging/lib/stage/stage.mjs +6 -6
- package/esm2020/staging/lib/stars/stars.mjs +8 -40
- package/fesm2015/angular-three-soba-abstractions.mjs +57 -57
- package/fesm2015/angular-three-soba-cameras.mjs +15 -15
- package/fesm2015/angular-three-soba-controls.mjs +3 -3
- package/fesm2015/angular-three-soba-loaders.mjs +3 -3
- package/fesm2015/angular-three-soba-materials.mjs +15 -15
- package/fesm2015/angular-three-soba-misc.mjs +23 -15
- package/fesm2015/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2015/angular-three-soba-performance.mjs +12 -12
- package/fesm2015/angular-three-soba-shaders.mjs +32 -1
- package/fesm2015/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2015/angular-three-soba-staging.mjs +93 -126
- package/fesm2015/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2020/angular-three-soba-abstractions.mjs +57 -57
- package/fesm2020/angular-three-soba-cameras.mjs +15 -15
- package/fesm2020/angular-three-soba-controls.mjs +3 -3
- package/fesm2020/angular-three-soba-loaders.mjs +3 -3
- package/fesm2020/angular-three-soba-materials.mjs +15 -15
- package/fesm2020/angular-three-soba-misc.mjs +23 -15
- package/fesm2020/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2020/angular-three-soba-performance.mjs +12 -12
- package/fesm2020/angular-three-soba-shaders.mjs +32 -1
- package/fesm2020/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2020/angular-three-soba-staging.mjs +93 -126
- package/fesm2020/angular-three-soba-staging.mjs.map +1 -1
- package/misc/lib/animations/animations.d.ts +2 -2
- package/package.json +5 -4
- package/plugin/package.json +2 -2
- package/shaders/index.d.ts +1 -0
- package/shaders/lib/mesh-distort-material/mesh-distort-material.d.ts +2 -2
- package/shaders/lib/star-field-material/star-field-material.d.ts +3 -0
- package/staging/lib/caustics/caustics.d.ts +3 -3
- package/staging/lib/spot-light/spot-light-shadow-no-shader.d.ts +1 -1
- package/staging/lib/spot-light/spot-light-shadow-shader.d.ts +2 -2
- package/staging/lib/stars/stars.d.ts +4 -4
|
@@ -35,8 +35,8 @@ class NgtsMeshDistortMaterial extends NgtRxStore {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
NgtsMeshDistortMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
39
|
-
NgtsMeshDistortMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
38
|
+
NgtsMeshDistortMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshDistortMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
NgtsMeshDistortMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsMeshDistortMaterial, isStandalone: true, selector: "ngts-mesh-distort-material", inputs: { materialRef: "materialRef", time: "time", distort: "distort", radius: "radius", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
|
|
40
40
|
<ngt-primitive
|
|
41
41
|
*args="[material]"
|
|
42
42
|
[ref]="materialRef"
|
|
@@ -47,7 +47,7 @@ NgtsMeshDistortMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
47
47
|
attach="material"
|
|
48
48
|
/>
|
|
49
49
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshDistortMaterial, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{
|
|
53
53
|
selector: 'ngts-mesh-distort-material',
|
|
@@ -307,8 +307,8 @@ class NgtsMeshReflectorMaterial extends NgtRxStore {
|
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
|
-
NgtsMeshReflectorMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
311
|
-
NgtsMeshReflectorMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
310
|
+
NgtsMeshReflectorMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshReflectorMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
311
|
+
NgtsMeshReflectorMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsMeshReflectorMaterial, isStandalone: true, selector: "ngts-mesh-reflector-material", inputs: { materialRef: "materialRef", resolution: "resolution", mixBlur: "mixBlur", mixStrength: "mixStrength", blur: "blur", mirror: "mirror", minDepthThreshold: "minDepthThreshold", maxDepthThreshold: "maxDepthThreshold", depthScale: "depthScale", depthToBlurRatioBias: "depthToBlurRatioBias", distortionMap: "distortionMap", distortion: "distortion", mixContrast: "mixContrast", reflectorOffset: "reflectorOffset" }, usesInheritance: true, ngImport: i0, template: `
|
|
312
312
|
<ngt-mesh-reflector-material
|
|
313
313
|
ngtCompound
|
|
314
314
|
attach="material"
|
|
@@ -334,7 +334,7 @@ NgtsMeshReflectorMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
|
|
|
334
334
|
<ng-content />
|
|
335
335
|
</ngt-mesh-reflector-material>
|
|
336
336
|
`, isInline: true, dependencies: [{ kind: "pipe", type: NgtPush, name: "ngtPush" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshReflectorMaterial, decorators: [{
|
|
338
338
|
type: Component,
|
|
339
339
|
args: [{
|
|
340
340
|
selector: 'ngts-mesh-reflector-material',
|
|
@@ -485,8 +485,8 @@ class NgtsMeshRefractionMaterial extends NgtRxStore {
|
|
|
485
485
|
});
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
|
-
NgtsMeshRefractionMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
489
|
-
NgtsMeshRefractionMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
488
|
+
NgtsMeshRefractionMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshRefractionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
489
|
+
NgtsMeshRefractionMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsMeshRefractionMaterial, isStandalone: true, selector: "ngts-mesh-refraction-material", inputs: { materialRef: "materialRef", envMap: "envMap", bounces: "bounces", ior: "ior", fresnel: "fresnel", aberrationStrength: "aberrationStrength", color: "color", fastChroma: "fastChroma" }, usesInheritance: true, ngImport: i0, template: `
|
|
490
490
|
<ngt-mesh-refraction-material
|
|
491
491
|
*ngIf="defines$ | ngtPush as defines"
|
|
492
492
|
[ref]="materialRef"
|
|
@@ -505,7 +505,7 @@ NgtsMeshRefractionMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
505
505
|
<ng-content />
|
|
506
506
|
</ngt-mesh-refraction-material>
|
|
507
507
|
`, isInline: true, dependencies: [{ kind: "pipe", type: NgtPush, name: "ngtPush" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshRefractionMaterial, decorators: [{
|
|
509
509
|
type: Component,
|
|
510
510
|
args: [{
|
|
511
511
|
selector: 'ngts-mesh-refraction-material',
|
|
@@ -695,8 +695,8 @@ class NgtsMeshTranmissionMaterial extends NgtRxStore {
|
|
|
695
695
|
});
|
|
696
696
|
}
|
|
697
697
|
}
|
|
698
|
-
NgtsMeshTranmissionMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
699
|
-
NgtsMeshTranmissionMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
698
|
+
NgtsMeshTranmissionMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshTranmissionMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
699
|
+
NgtsMeshTranmissionMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsMeshTranmissionMaterial, isStandalone: true, selector: "ngts-mesh-transmission-material", inputs: { materialRef: "materialRef", transmissionSampler: "transmissionSampler", backside: "backside", backsideThickness: "backsideThickness", resolution: "resolution", backsideResolution: "backsideResolution", samples: "samples", background: "background", transmission: "transmission", thickness: "thickness", roughness: "roughness", chromaticAberration: "chromaticAberration", anisotropy: "anisotropy", distortion: "distortion", distortionScale: "distortionScale", temporalDistortion: "temporalDistortion", buffer: "buffer", time: "time" }, usesInheritance: true, ngImport: i0, template: `
|
|
700
700
|
<ngt-mesh-transmission-material
|
|
701
701
|
*args="[get('samples'), get('transmissionSampler')]"
|
|
702
702
|
ngtCompound
|
|
@@ -715,7 +715,7 @@ NgtsMeshTranmissionMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
715
715
|
[time]="get('time')"
|
|
716
716
|
/>
|
|
717
717
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
718
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshTranmissionMaterial, decorators: [{
|
|
719
719
|
type: Component,
|
|
720
720
|
args: [{
|
|
721
721
|
selector: 'ngts-mesh-transmission-material',
|
|
@@ -804,8 +804,8 @@ class NgtsMeshWobbleMaterial extends NgtRxStore {
|
|
|
804
804
|
});
|
|
805
805
|
}
|
|
806
806
|
}
|
|
807
|
-
NgtsMeshWobbleMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
808
|
-
NgtsMeshWobbleMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
807
|
+
NgtsMeshWobbleMaterial.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshWobbleMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
808
|
+
NgtsMeshWobbleMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsMeshWobbleMaterial, isStandalone: true, selector: "ngts-mesh-wobble-material", inputs: { materialRef: "materialRef", time: "time", factor: "factor", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
|
|
809
809
|
<ngt-primitive
|
|
810
810
|
*args="[material]"
|
|
811
811
|
[ref]="materialRef"
|
|
@@ -815,7 +815,7 @@ NgtsMeshWobbleMaterial.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
815
815
|
ngtCompound
|
|
816
816
|
/>
|
|
817
817
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
818
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
818
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsMeshWobbleMaterial, decorators: [{
|
|
819
819
|
type: Component,
|
|
820
820
|
args: [{
|
|
821
821
|
selector: 'ngts-mesh-wobble-material',
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { injectNgtRef, injectNgtDestroy, injectBeforeRender, NgtRxStore, NgtStore, safeDetectChanges } from 'angular-three';
|
|
2
|
-
import { takeUntil, isObservable, of, combineLatest
|
|
2
|
+
import { takeUntil, switchMap, map, isObservable, of, combineLatest } from 'rxjs';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { inject, Directive } from '@angular/core';
|
|
6
6
|
import { __rest } from 'tslib';
|
|
7
7
|
|
|
8
|
-
function injectNgtsAnimations(
|
|
9
|
-
|
|
8
|
+
function injectNgtsAnimations(animations$, ref) {
|
|
9
|
+
let actualRef = injectNgtRef();
|
|
10
|
+
if (ref) {
|
|
11
|
+
if (ref instanceof THREE.Object3D) {
|
|
12
|
+
actualRef.nativeElement = ref;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
actualRef = ref;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
10
18
|
const mixer = new THREE.AnimationMixer(null);
|
|
11
19
|
const actions = {};
|
|
12
20
|
let cached = {};
|
|
@@ -17,25 +25,25 @@ function injectNgtsAnimations(gltf$, modelSelector = (gltf) => gltf.scene) {
|
|
|
17
25
|
cached = {};
|
|
18
26
|
// uncache actions
|
|
19
27
|
Object.values(actions).forEach((action) => {
|
|
20
|
-
if (
|
|
21
|
-
mixer.uncacheAction(action,
|
|
28
|
+
if (actualRef.nativeElement) {
|
|
29
|
+
mixer.uncacheAction(action, actualRef.nativeElement);
|
|
22
30
|
}
|
|
23
31
|
});
|
|
24
32
|
// stop all actions
|
|
25
33
|
mixer.stopAllAction();
|
|
26
34
|
});
|
|
27
35
|
injectBeforeRender(({ delta }) => mixer.update(delta));
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
for (let i = 0; i <
|
|
32
|
-
const clip =
|
|
36
|
+
actualRef.$.pipe(takeUntil(destroy$))
|
|
37
|
+
.pipe(switchMap((object) => animations$.pipe(map((animations) => [object, animations]))))
|
|
38
|
+
.subscribe(([object, animations]) => {
|
|
39
|
+
for (let i = 0; i < animations.length; i++) {
|
|
40
|
+
const clip = animations[i];
|
|
33
41
|
names.push(clip.name);
|
|
34
42
|
clips.push(clip);
|
|
35
43
|
Object.defineProperty(actions, clip.name, {
|
|
36
44
|
enumerable: true,
|
|
37
45
|
get: () => {
|
|
38
|
-
return cached[clip.name] || (cached[clip.name] = mixer.clipAction(clip,
|
|
46
|
+
return cached[clip.name] || (cached[clip.name] = mixer.clipAction(clip, object));
|
|
39
47
|
},
|
|
40
48
|
});
|
|
41
49
|
if (i === 0) {
|
|
@@ -43,7 +51,7 @@ function injectNgtsAnimations(gltf$, modelSelector = (gltf) => gltf.scene) {
|
|
|
43
51
|
}
|
|
44
52
|
}
|
|
45
53
|
});
|
|
46
|
-
return { ref, actions, mixer, names, clips };
|
|
54
|
+
return { ref: actualRef, actions, mixer, names, clips };
|
|
47
55
|
}
|
|
48
56
|
|
|
49
57
|
class NgtsBakeShadows extends NgtRxStore {
|
|
@@ -61,9 +69,9 @@ class NgtsBakeShadows extends NgtRxStore {
|
|
|
61
69
|
});
|
|
62
70
|
}
|
|
63
71
|
}
|
|
64
|
-
NgtsBakeShadows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
65
|
-
NgtsBakeShadows.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
72
|
+
NgtsBakeShadows.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsBakeShadows, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
73
|
+
NgtsBakeShadows.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsBakeShadows, isStandalone: true, selector: "ngts-bake-shadows", usesInheritance: true, ngImport: i0 });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsBakeShadows, decorators: [{
|
|
67
75
|
type: Directive,
|
|
68
76
|
args: [{ selector: 'ngts-bake-shadows', standalone: true }]
|
|
69
77
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-soba-misc.mjs","sources":["../../../../libs/angular-three-soba/misc/src/lib/animations/animations.ts","../../../../libs/angular-three-soba/misc/src/lib/bake-shadows/bake-shadows.ts","../../../../libs/angular-three-soba/misc/src/lib/fbo/fbo.ts","../../../../libs/angular-three-soba/misc/src/lib/depth-buffer/depth-buffer.ts","../../../../libs/angular-three-soba/misc/src/angular-three-soba-misc.ts"],"sourcesContent":["import { injectBeforeRender, injectNgtDestroy, injectNgtRef, NgtInjectedRef } from 'angular-three';\nimport { Observable, takeUntil } from 'rxjs';\nimport * as THREE from 'three';\nimport { GLTF } from 'three-stdlib';\n\ntype Api = {\n ref: NgtInjectedRef<THREE.Object3D>;\n clips: THREE.AnimationClip[];\n mixer: THREE.AnimationMixer;\n names: string[];\n actions: Record<string, THREE.AnimationAction>;\n};\n\nexport function injectNgtsAnimations(\n gltf$: Observable<GLTF>,\n modelSelector: (gltf: GLTF) => THREE.Object3D = (gltf) => gltf.scene\n): Api {\n const ref = injectNgtRef<THREE.Object3D>();\n const mixer = new THREE.AnimationMixer(null!);\n const actions = {} as Record<string, THREE.AnimationAction>;\n let cached = {} as Record<string, THREE.AnimationAction>;\n\n const clips = [] as THREE.AnimationClip[];\n const names = [] as string[];\n\n const { destroy$ } = injectNgtDestroy(() => {\n // clear cached\n cached = {};\n // uncache actions\n Object.values(actions).forEach((action) => {\n if (ref.nativeElement) {\n mixer.uncacheAction(action as unknown as THREE.AnimationClip, ref.nativeElement);\n }\n });\n // stop all actions\n mixer.stopAllAction();\n });\n\n injectBeforeRender(({ delta }) => mixer.update(delta));\n\n gltf$.pipe(takeUntil(destroy$)).subscribe((gltf) => {\n const model = modelSelector(gltf);\n ref.nativeElement = model;\n\n for (let i = 0; i < gltf.animations.length; i++) {\n const clip = gltf.animations[i];\n\n names.push(clip.name);\n clips.push(clip);\n\n Object.defineProperty(actions, clip.name, {\n enumerable: true,\n get: () => {\n return cached[clip.name] || (cached[clip.name] = mixer.clipAction(clip, model));\n },\n });\n\n if (i === 0) {\n actions[clip.name].play();\n }\n }\n });\n\n return { ref, actions, mixer, names, clips };\n}\n","import { Directive, inject, OnInit } from '@angular/core';\nimport { NgtRxStore, NgtStore } from 'angular-three';\n\n@Directive({ selector: 'ngts-bake-shadows', standalone: true })\nexport class NgtsBakeShadows extends NgtRxStore implements OnInit {\n private readonly store = inject(NgtStore);\n\n ngOnInit() {\n this.effect(this.store.select('gl'), (gl) => {\n gl.shadowMap.autoUpdate = false;\n gl.shadowMap.needsUpdate = true;\n\n return () => {\n gl.shadowMap.autoUpdate = gl.shadowMap.needsUpdate = true;\n };\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { injectNgtDestroy, injectNgtRef, NgtStore, safeDetectChanges } from 'angular-three';\nimport { isObservable, Observable, of, takeUntil } from 'rxjs';\nimport * as THREE from 'three';\n\ninterface FBOSettings extends THREE.WebGLRenderTargetOptions {\n /** Defines the count of MSAA samples. Can only be used with WebGL 2. Default: 0 */\n samples?: number;\n /** If set, the scene depth will be rendered into buffer.depthTexture. Default: false */\n depth?: boolean;\n}\n\nexport interface NgtsFBOParams {\n width?: number | FBOSettings;\n height?: number;\n settings?: FBOSettings;\n}\n\nexport function injectNgtsFBO(\n paramsFactory: (defaultParams: Partial<NgtsFBOParams>) => NgtsFBOParams | Observable<NgtsFBOParams>\n) {\n const store = inject(NgtStore);\n const targetRef = injectNgtRef<THREE.WebGLRenderTarget>();\n const { destroy$, cdr } = injectNgtDestroy(() => {\n targetRef.nativeElement?.dispose();\n });\n const params = paramsFactory({});\n const params$ = isObservable(params) ? params : of(params);\n\n params$.pipe(takeUntil(destroy$)).subscribe(({ width, height, settings }) => {\n const { gl, size, viewport } = store.get();\n const _width = typeof width === 'number' ? width : size.width * viewport.dpr;\n const _height = typeof height === 'number' ? height : size.height * viewport.dpr;\n const _settings = (typeof width === 'number' ? settings : (width as FBOSettings)) || {};\n\n const { samples = 0, depth, ...targetSettings } = _settings;\n\n if (!targetRef.nativeElement) {\n const target = new THREE.WebGLRenderTarget(_width, _height, {\n minFilter: THREE.LinearFilter,\n magFilter: THREE.LinearFilter,\n encoding: gl.outputEncoding,\n type: THREE.HalfFloatType,\n ...targetSettings,\n });\n if (depth) target.depthTexture = new THREE.DepthTexture(_width, _height, THREE.FloatType);\n\n target.samples = samples;\n targetRef.nativeElement = target;\n }\n\n targetRef.nativeElement.setSize(_width, _height);\n if (samples) targetRef.nativeElement.samples = samples;\n safeDetectChanges(cdr);\n });\n\n return targetRef;\n}\n","import { inject } from '@angular/core';\nimport { injectBeforeRender, injectNgtDestroy, injectNgtRef, NgtStore } from 'angular-three';\nimport { combineLatest, isObservable, map, Observable, of, takeUntil } from 'rxjs';\nimport * as THREE from 'three';\nimport { injectNgtsFBO } from '../fbo/fbo';\n\nexport interface NgtsDepthBufferParams {\n size: number;\n frames: number;\n}\n\nexport function injectNgtsDepthBuffer(\n paramsFactory: (\n defaultParams: Partial<NgtsDepthBufferParams>\n ) => NgtsDepthBufferParams | Observable<NgtsDepthBufferParams> = (params) => params as NgtsDepthBufferParams\n) {\n const depthBufferRef = injectNgtRef<THREE.DepthTexture>();\n\n const store = inject(NgtStore);\n const { destroy$ } = injectNgtDestroy();\n\n const params = paramsFactory({ size: 256, frames: Infinity });\n const params$ = isObservable(params) ? params : of(params);\n\n let rawParams = { size: 256, frames: Infinity };\n\n const fbo = injectNgtsFBO(() => {\n return combineLatest([params$, store.select('size'), store.select('viewport', 'dpr')]).pipe(\n map(([params, size, dpr]) => {\n rawParams = params;\n const w = params.size || size.width * dpr;\n const h = params.size || size.height * dpr;\n const depthTexture = new THREE.DepthTexture(w, h);\n depthTexture.format = THREE.DepthFormat;\n depthTexture.type = THREE.UnsignedShortType;\n const depthConfig = { depthTexture };\n\n return { width: w, height: h, settings: depthConfig };\n })\n );\n });\n\n let count = 0;\n injectBeforeRender(({ gl, scene, camera }) => {\n if ((rawParams.frames === Infinity || count < rawParams.frames) && fbo.nativeElement) {\n gl.setRenderTarget(fbo.nativeElement);\n gl.render(scene, camera);\n gl.setRenderTarget(null);\n count++;\n }\n });\n\n fbo.$.pipe(takeUntil(destroy$)).subscribe((fbo) => {\n depthBufferRef.nativeElement = fbo.depthTexture;\n });\n\n return depthBufferRef;\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-soba-misc.mjs","sources":["../../../../libs/angular-three-soba/misc/src/lib/animations/animations.ts","../../../../libs/angular-three-soba/misc/src/lib/bake-shadows/bake-shadows.ts","../../../../libs/angular-three-soba/misc/src/lib/fbo/fbo.ts","../../../../libs/angular-three-soba/misc/src/lib/depth-buffer/depth-buffer.ts","../../../../libs/angular-three-soba/misc/src/angular-three-soba-misc.ts"],"sourcesContent":["import { injectBeforeRender, injectNgtDestroy, injectNgtRef, NgtInjectedRef } from 'angular-three';\nimport { map, Observable, switchMap, takeUntil } from 'rxjs';\nimport * as THREE from 'three';\nimport { AnimationClip } from 'three';\n\ntype Api = {\n ref: NgtInjectedRef<THREE.Object3D>;\n clips: THREE.AnimationClip[];\n mixer: THREE.AnimationMixer;\n names: string[];\n actions: Record<string, THREE.AnimationAction>;\n};\n\nexport function injectNgtsAnimations(\n animations$: Observable<AnimationClip[]>,\n ref?: NgtInjectedRef<THREE.Object3D> | THREE.Object3D\n): Api {\n let actualRef = injectNgtRef<THREE.Object3D>();\n\n if (ref) {\n if (ref instanceof THREE.Object3D) {\n actualRef.nativeElement = ref;\n } else {\n actualRef = ref;\n }\n }\n\n const mixer = new THREE.AnimationMixer(null!);\n const actions = {} as Record<string, THREE.AnimationAction>;\n let cached = {} as Record<string, THREE.AnimationAction>;\n\n const clips = [] as THREE.AnimationClip[];\n const names = [] as string[];\n\n const { destroy$ } = injectNgtDestroy(() => {\n // clear cached\n cached = {};\n // uncache actions\n Object.values(actions).forEach((action) => {\n if (actualRef.nativeElement) {\n mixer.uncacheAction(action as unknown as THREE.AnimationClip, actualRef.nativeElement);\n }\n });\n // stop all actions\n mixer.stopAllAction();\n });\n\n injectBeforeRender(({ delta }) => mixer.update(delta));\n\n actualRef.$.pipe(takeUntil(destroy$))\n .pipe(switchMap((object) => animations$.pipe(map((animations) => [object, animations] as const))))\n .subscribe(([object, animations]) => {\n for (let i = 0; i < animations.length; i++) {\n const clip = animations[i];\n\n names.push(clip.name);\n clips.push(clip);\n\n Object.defineProperty(actions, clip.name, {\n enumerable: true,\n get: () => {\n return cached[clip.name] || (cached[clip.name] = mixer.clipAction(clip, object));\n },\n });\n\n if (i === 0) {\n actions[clip.name].play();\n }\n }\n });\n\n return { ref: actualRef, actions, mixer, names, clips };\n}\n","import { Directive, inject, OnInit } from '@angular/core';\nimport { NgtRxStore, NgtStore } from 'angular-three';\n\n@Directive({ selector: 'ngts-bake-shadows', standalone: true })\nexport class NgtsBakeShadows extends NgtRxStore implements OnInit {\n private readonly store = inject(NgtStore);\n\n ngOnInit() {\n this.effect(this.store.select('gl'), (gl) => {\n gl.shadowMap.autoUpdate = false;\n gl.shadowMap.needsUpdate = true;\n\n return () => {\n gl.shadowMap.autoUpdate = gl.shadowMap.needsUpdate = true;\n };\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { injectNgtDestroy, injectNgtRef, NgtStore, safeDetectChanges } from 'angular-three';\nimport { isObservable, Observable, of, takeUntil } from 'rxjs';\nimport * as THREE from 'three';\n\ninterface FBOSettings extends THREE.WebGLRenderTargetOptions {\n /** Defines the count of MSAA samples. Can only be used with WebGL 2. Default: 0 */\n samples?: number;\n /** If set, the scene depth will be rendered into buffer.depthTexture. Default: false */\n depth?: boolean;\n}\n\nexport interface NgtsFBOParams {\n width?: number | FBOSettings;\n height?: number;\n settings?: FBOSettings;\n}\n\nexport function injectNgtsFBO(\n paramsFactory: (defaultParams: Partial<NgtsFBOParams>) => NgtsFBOParams | Observable<NgtsFBOParams>\n) {\n const store = inject(NgtStore);\n const targetRef = injectNgtRef<THREE.WebGLRenderTarget>();\n const { destroy$, cdr } = injectNgtDestroy(() => {\n targetRef.nativeElement?.dispose();\n });\n const params = paramsFactory({});\n const params$ = isObservable(params) ? params : of(params);\n\n params$.pipe(takeUntil(destroy$)).subscribe(({ width, height, settings }) => {\n const { gl, size, viewport } = store.get();\n const _width = typeof width === 'number' ? width : size.width * viewport.dpr;\n const _height = typeof height === 'number' ? height : size.height * viewport.dpr;\n const _settings = (typeof width === 'number' ? settings : (width as FBOSettings)) || {};\n\n const { samples = 0, depth, ...targetSettings } = _settings;\n\n if (!targetRef.nativeElement) {\n const target = new THREE.WebGLRenderTarget(_width, _height, {\n minFilter: THREE.LinearFilter,\n magFilter: THREE.LinearFilter,\n encoding: gl.outputEncoding,\n type: THREE.HalfFloatType,\n ...targetSettings,\n });\n if (depth) target.depthTexture = new THREE.DepthTexture(_width, _height, THREE.FloatType);\n\n target.samples = samples;\n targetRef.nativeElement = target;\n }\n\n targetRef.nativeElement.setSize(_width, _height);\n if (samples) targetRef.nativeElement.samples = samples;\n safeDetectChanges(cdr);\n });\n\n return targetRef;\n}\n","import { inject } from '@angular/core';\nimport { injectBeforeRender, injectNgtDestroy, injectNgtRef, NgtStore } from 'angular-three';\nimport { combineLatest, isObservable, map, Observable, of, takeUntil } from 'rxjs';\nimport * as THREE from 'three';\nimport { injectNgtsFBO } from '../fbo/fbo';\n\nexport interface NgtsDepthBufferParams {\n size: number;\n frames: number;\n}\n\nexport function injectNgtsDepthBuffer(\n paramsFactory: (\n defaultParams: Partial<NgtsDepthBufferParams>\n ) => NgtsDepthBufferParams | Observable<NgtsDepthBufferParams> = (params) => params as NgtsDepthBufferParams\n) {\n const depthBufferRef = injectNgtRef<THREE.DepthTexture>();\n\n const store = inject(NgtStore);\n const { destroy$ } = injectNgtDestroy();\n\n const params = paramsFactory({ size: 256, frames: Infinity });\n const params$ = isObservable(params) ? params : of(params);\n\n let rawParams = { size: 256, frames: Infinity };\n\n const fbo = injectNgtsFBO(() => {\n return combineLatest([params$, store.select('size'), store.select('viewport', 'dpr')]).pipe(\n map(([params, size, dpr]) => {\n rawParams = params;\n const w = params.size || size.width * dpr;\n const h = params.size || size.height * dpr;\n const depthTexture = new THREE.DepthTexture(w, h);\n depthTexture.format = THREE.DepthFormat;\n depthTexture.type = THREE.UnsignedShortType;\n const depthConfig = { depthTexture };\n\n return { width: w, height: h, settings: depthConfig };\n })\n );\n });\n\n let count = 0;\n injectBeforeRender(({ gl, scene, camera }) => {\n if ((rawParams.frames === Infinity || count < rawParams.frames) && fbo.nativeElement) {\n gl.setRenderTarget(fbo.nativeElement);\n gl.render(scene, camera);\n gl.setRenderTarget(null);\n count++;\n }\n });\n\n fbo.$.pipe(takeUntil(destroy$)).subscribe((fbo) => {\n depthBufferRef.nativeElement = fbo.depthTexture;\n });\n\n return depthBufferRef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -36,9 +36,9 @@ class NgtsAdaptiveDpr extends NgtRxStore {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
NgtsAdaptiveDpr.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
40
|
-
NgtsAdaptiveDpr.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
39
|
+
NgtsAdaptiveDpr.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsAdaptiveDpr, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
NgtsAdaptiveDpr.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { pixelated: "pixelated" }, providers: [RxActionFactory], usesInheritance: true, ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
|
|
42
42
|
type: Directive,
|
|
43
43
|
args: [{
|
|
44
44
|
selector: 'ngts-adaptive-dpr',
|
|
@@ -70,9 +70,9 @@ class NgtsAdaptiveEvents extends NgtRxStore {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
NgtsAdaptiveEvents.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
74
|
-
NgtsAdaptiveEvents.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
73
|
+
NgtsAdaptiveEvents.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsAdaptiveEvents, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
NgtsAdaptiveEvents.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", providers: [RxActionFactory], usesInheritance: true, ngImport: i0 });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
|
|
76
76
|
type: Directive,
|
|
77
77
|
args: [{
|
|
78
78
|
selector: 'ngts-adaptive-events',
|
|
@@ -105,13 +105,13 @@ class NgtsDetailed extends NgtRxStore {
|
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
NgtsDetailed.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
109
|
-
NgtsDetailed.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
108
|
+
NgtsDetailed.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsDetailed, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
NgtsDetailed.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed[distances]", inputs: { lodRef: "lodRef", distances: "distances" }, usesInheritance: true, ngImport: i0, template: `
|
|
110
110
|
<ngt-lOD [ref]="lodRef" ngtCompound (beforeRender)="onLODBeforeRender($any($event))">
|
|
111
111
|
<ng-content />
|
|
112
112
|
</ngt-lOD>
|
|
113
113
|
`, isInline: true });
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsDetailed, decorators: [{
|
|
115
115
|
type: Component,
|
|
116
116
|
args: [{
|
|
117
117
|
selector: 'ngts-detailed[distances]',
|
|
@@ -184,9 +184,9 @@ class NgtsStats extends NgtRxStore {
|
|
|
184
184
|
});
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
NgtsStats.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
188
|
-
NgtsStats.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
187
|
+
NgtsStats.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsStats, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
188
|
+
NgtsStats.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: NgtsStats, isStandalone: true, selector: "ngts-stats", inputs: { showPanel: "showPanel", parent: "parent", classes: "classes", right: "right" }, usesInheritance: true, ngImport: i0 });
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsStats, decorators: [{
|
|
190
190
|
type: Directive,
|
|
191
191
|
args: [{
|
|
192
192
|
selector: 'ngts-stats',
|
|
@@ -1200,9 +1200,40 @@ class SpotLightMaterial extends ShaderMaterial {
|
|
|
1200
1200
|
}
|
|
1201
1201
|
}
|
|
1202
1202
|
|
|
1203
|
+
const StarFieldMaterial = shaderMaterial({ time: 0.0, fade: 0.0 },
|
|
1204
|
+
// language=GLSL
|
|
1205
|
+
`
|
|
1206
|
+
uniform float time;
|
|
1207
|
+
attribute float size;
|
|
1208
|
+
varying vec3 vColor;
|
|
1209
|
+
void main() {
|
|
1210
|
+
vColor = color;
|
|
1211
|
+
vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);
|
|
1212
|
+
gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(time + 100.0));
|
|
1213
|
+
gl_Position = projectionMatrix * mvPosition;
|
|
1214
|
+
}
|
|
1215
|
+
`,
|
|
1216
|
+
// language=GLSL
|
|
1217
|
+
`
|
|
1218
|
+
uniform sampler2D pointTexture;
|
|
1219
|
+
uniform float fade;
|
|
1220
|
+
varying vec3 vColor;
|
|
1221
|
+
void main() {
|
|
1222
|
+
float opacity = 1.0;
|
|
1223
|
+
if (fade == 1.0) {
|
|
1224
|
+
float d = distance(gl_PointCoord, vec2(0.5, 0.5));
|
|
1225
|
+
opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));
|
|
1226
|
+
}
|
|
1227
|
+
gl_FragColor = vec4(vColor, opacity);
|
|
1228
|
+
|
|
1229
|
+
#include <tonemapping_fragment>
|
|
1230
|
+
#include <encodings_fragment>
|
|
1231
|
+
}
|
|
1232
|
+
`);
|
|
1233
|
+
|
|
1203
1234
|
/**
|
|
1204
1235
|
* Generated bundle index. Do not edit.
|
|
1205
1236
|
*/
|
|
1206
1237
|
|
|
1207
|
-
export { BlurPass, CausticsMaterial, CausticsProjectionMaterial, ConvolutionMaterial, DiscardMaterial, MeshReflectorMaterial, MeshRefractionMaterial, MeshTransmissionMaterial, MeshWobbleMaterial, NGTS_DISTORT_MATERIAL_SHADER, SoftShadowMaterial, SpotLightMaterial, provideNgtsMeshDistortMaterialShader, shaderMaterial };
|
|
1238
|
+
export { BlurPass, CausticsMaterial, CausticsProjectionMaterial, ConvolutionMaterial, DiscardMaterial, MeshReflectorMaterial, MeshRefractionMaterial, MeshTransmissionMaterial, MeshWobbleMaterial, NGTS_DISTORT_MATERIAL_SHADER, SoftShadowMaterial, SpotLightMaterial, StarFieldMaterial, provideNgtsMeshDistortMaterialShader, shaderMaterial };
|
|
1208
1239
|
//# sourceMappingURL=angular-three-soba-shaders.mjs.map
|