angular-three-soba 1.13.0 → 1.14.1
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/lib/billboard/billboard.d.ts +1 -1
- package/abstractions/lib/catmull-rom-line/catmull-rom-line.d.ts +1 -1
- package/abstractions/lib/cubic-bezier-line/cubic-bezier-line.d.ts +1 -1
- package/abstractions/lib/edges/edges.d.ts +2 -2
- package/abstractions/lib/gizmo-helper/gizmo-helper.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +2 -2
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +1 -1
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +2 -2
- package/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +1 -1
- package/abstractions/lib/line/line-input.d.ts +1 -1
- package/abstractions/lib/line/line.d.ts +1 -1
- package/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.d.ts +1 -1
- package/abstractions/lib/text/text.d.ts +1 -1
- package/abstractions/lib/text-3d/text-3d.d.ts +1 -1
- package/cameras/lib/camera/camera-content.d.ts +1 -1
- package/cameras/lib/camera/camera.d.ts +1 -1
- package/cameras/lib/cube-camera/cube-camera.d.ts +1 -1
- package/cameras/lib/orthographic-camera/orthographic-camera.d.ts +1 -1
- package/controls/lib/orbit-controls/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard/billboard.mjs +74 -0
- package/esm2022/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +120 -0
- package/esm2022/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +99 -0
- package/esm2022/abstractions/lib/edges/edges.mjs +96 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-helper.mjs +213 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +92 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +184 -0
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +46 -0
- package/{esm2020 → esm2022}/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +8 -7
- package/esm2022/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +195 -0
- package/{esm2020 → esm2022}/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +8 -7
- package/esm2022/abstractions/lib/line/line-input.mjs +76 -0
- package/esm2022/abstractions/lib/line/line.mjs +133 -0
- package/esm2022/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +128 -0
- package/esm2022/abstractions/lib/text/text.mjs +115 -0
- package/esm2022/abstractions/lib/text-3d/text-3d.mjs +145 -0
- package/esm2022/cameras/lib/camera/camera-content.mjs +21 -0
- package/esm2022/cameras/lib/camera/camera.mjs +75 -0
- package/esm2022/cameras/lib/cube-camera/cube-camera.mjs +131 -0
- package/esm2022/cameras/lib/orthographic-camera/orthographic-camera.mjs +93 -0
- package/{esm2020 → esm2022}/cameras/lib/perspective-camera/perspective-camera.mjs +8 -7
- package/esm2022/controls/lib/orbit-controls/orbit-controls.mjs +147 -0
- package/{esm2020 → esm2022}/loaders/lib/cube-texture-loader/cube-texture-loader.mjs +3 -3
- package/esm2022/loaders/lib/loader/loader.mjs +134 -0
- package/esm2022/materials/lib/mesh-distort-material/mesh-distort-material.mjs +75 -0
- package/esm2022/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +328 -0
- package/esm2022/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +158 -0
- package/esm2022/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +238 -0
- package/esm2022/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +68 -0
- package/esm2022/misc/lib/bake-shadows/bake-shadows.mjs +26 -0
- package/esm2022/performance/lib/adaptive/adaptive-dpr.mjs +47 -0
- package/esm2022/performance/lib/adaptive/adaptive-events.mjs +37 -0
- package/esm2022/performance/lib/detailed/detailed.mjs +54 -0
- package/esm2022/performance/lib/stats/stats.mjs +80 -0
- package/esm2022/shaders/lib/blur-pass/blur-pass.mjs +61 -0
- package/esm2022/staging/lib/accumulative-shadows/accumulative-shadows.mjs +249 -0
- package/esm2022/staging/lib/accumulative-shadows/randomized-lights.mjs +201 -0
- package/{esm2020 → esm2022}/staging/lib/bounds/bounds.mjs +8 -7
- package/esm2022/staging/lib/camera-shake/camera-shake.mjs +122 -0
- package/esm2022/staging/lib/caustics/caustics.mjs +364 -0
- package/esm2022/staging/lib/center/center.mjs +143 -0
- package/esm2022/staging/lib/cloud/cloud.mjs +160 -0
- package/esm2022/staging/lib/contact-shadows/contact-shadows.mjs +228 -0
- package/esm2022/staging/lib/environment/environment-cube.mjs +41 -0
- package/esm2022/staging/lib/environment/environment-ground.mjs +67 -0
- package/esm2022/staging/lib/environment/environment-inputs.mjs +87 -0
- package/esm2022/staging/lib/environment/environment-map.mjs +39 -0
- package/esm2022/staging/lib/environment/environment-portal.mjs +111 -0
- package/{esm2020 → esm2022}/staging/lib/environment/environment.mjs +13 -11
- package/esm2022/staging/lib/float/float.mjs +77 -0
- package/esm2022/staging/lib/sky/sky.mjs +109 -0
- package/esm2022/staging/lib/sparkles/sparkles.mjs +210 -0
- package/esm2022/staging/lib/spot-light/shadow-mesh-input.mjs +51 -0
- package/esm2022/staging/lib/spot-light/spot-light-input.mjs +62 -0
- package/esm2022/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +74 -0
- package/esm2022/staging/lib/spot-light/spot-light-shadow-shader.mjs +126 -0
- package/{esm2020 → esm2022}/staging/lib/spot-light/spot-light-shadow.mjs +8 -7
- package/esm2022/staging/lib/spot-light/spot-light.mjs +117 -0
- package/esm2022/staging/lib/spot-light/volumetric-mesh.mjs +86 -0
- package/{esm2020 → esm2022}/staging/lib/stage/stage.mjs +13 -11
- package/esm2022/staging/lib/stars/stars.mjs +140 -0
- package/{fesm2020 → fesm2022}/angular-three-soba-abstractions.mjs +89 -89
- package/{fesm2015 → fesm2022}/angular-three-soba-abstractions.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/angular-three-soba-cameras.mjs +21 -21
- package/{fesm2015 → fesm2022}/angular-three-soba-cameras.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-controls.mjs +5 -5
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/angular-three-soba-loaders.mjs +7 -7
- package/{fesm2020 → fesm2022}/angular-three-soba-loaders.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-materials.mjs +25 -25
- package/{fesm2020 → fesm2022}/angular-three-soba-materials.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-misc.mjs +3 -3
- package/{fesm2020 → fesm2022}/angular-three-soba-misc.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-performance.mjs +14 -14
- package/{fesm2020 → fesm2022}/angular-three-soba-performance.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/angular-three-soba-shaders.mjs +2 -2
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/angular-three-soba-staging.mjs +139 -139
- package/{fesm2020 → fesm2022}/angular-three-soba-staging.mjs.map +1 -1
- package/loaders/lib/loader/loader.d.ts +1 -1
- package/materials/lib/mesh-distort-material/mesh-distort-material.d.ts +1 -1
- package/materials/lib/mesh-reflector-material/mesh-reflector-material.d.ts +1 -1
- package/materials/lib/mesh-refraction-material/mesh-refraction-material.d.ts +1 -1
- package/materials/lib/mesh-transmission-material/mesh-transmission-material.d.ts +1 -1
- package/materials/lib/mesh-wobble-material/mesh-wobble-material.d.ts +1 -1
- package/package.json +45 -70
- package/performance/lib/adaptive/adaptive-dpr.d.ts +1 -1
- package/performance/lib/detailed/detailed.d.ts +1 -1
- package/performance/lib/stats/stats.d.ts +1 -1
- package/plugin/package.json +1 -1
- package/plugin/src/generators/init/compat.js +1 -1
- package/plugin/src/generators/init/compat.js.map +1 -1
- package/plugin/src/generators/init/init.d.ts +1 -1
- package/plugin/src/generators/init/init.js +1 -1
- package/plugin/src/generators/init/init.js.map +1 -1
- package/staging/lib/accumulative-shadows/accumulative-shadows.d.ts +2 -2
- package/staging/lib/accumulative-shadows/randomized-lights.d.ts +1 -1
- package/staging/lib/bounds/bounds.d.ts +1 -1
- package/staging/lib/camera-shake/camera-shake.d.ts +1 -1
- package/staging/lib/caustics/caustics.d.ts +2 -2
- package/staging/lib/center/center.d.ts +1 -1
- package/staging/lib/cloud/cloud.d.ts +1 -1
- package/staging/lib/contact-shadows/contact-shadows.d.ts +1 -1
- package/staging/lib/environment/environment-inputs.d.ts +1 -1
- package/staging/lib/float/float.d.ts +1 -1
- package/staging/lib/sky/sky.d.ts +1 -1
- package/staging/lib/sparkles/sparkles.d.ts +2 -2
- package/staging/lib/spot-light/shadow-mesh-input.d.ts +1 -1
- package/staging/lib/spot-light/spot-light-input.d.ts +1 -1
- 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 +1 -1
- package/staging/lib/spot-light/spot-light.d.ts +1 -1
- package/staging/lib/spot-light/volumetric-mesh.d.ts +1 -1
- package/staging/lib/stage/stage.d.ts +2 -2
- package/staging/lib/stars/stars.d.ts +2 -2
- package/esm2020/abstractions/lib/billboard/billboard.mjs +0 -73
- package/esm2020/abstractions/lib/catmull-rom-line/catmull-rom-line.mjs +0 -119
- package/esm2020/abstractions/lib/cubic-bezier-line/cubic-bezier-line.mjs +0 -98
- package/esm2020/abstractions/lib/edges/edges.mjs +0 -95
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-helper.mjs +0 -211
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -91
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -182
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewcube/gizmo-viewcube-inputs.mjs +0 -45
- package/esm2020/abstractions/lib/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -193
- package/esm2020/abstractions/lib/line/line-input.mjs +0 -75
- package/esm2020/abstractions/lib/line/line.mjs +0 -132
- package/esm2020/abstractions/lib/quadratic-bezier-line/quadratic-bezier-line.mjs +0 -127
- package/esm2020/abstractions/lib/text/text.mjs +0 -114
- package/esm2020/abstractions/lib/text-3d/text-3d.mjs +0 -144
- package/esm2020/cameras/lib/camera/camera-content.mjs +0 -20
- package/esm2020/cameras/lib/camera/camera.mjs +0 -74
- package/esm2020/cameras/lib/cube-camera/cube-camera.mjs +0 -130
- package/esm2020/cameras/lib/orthographic-camera/orthographic-camera.mjs +0 -92
- package/esm2020/controls/lib/orbit-controls/orbit-controls.mjs +0 -146
- package/esm2020/loaders/lib/loader/loader.mjs +0 -133
- package/esm2020/materials/lib/mesh-distort-material/mesh-distort-material.mjs +0 -74
- package/esm2020/materials/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -327
- package/esm2020/materials/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -157
- package/esm2020/materials/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -237
- package/esm2020/materials/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -67
- package/esm2020/misc/lib/bake-shadows/bake-shadows.mjs +0 -25
- package/esm2020/performance/lib/adaptive/adaptive-dpr.mjs +0 -46
- package/esm2020/performance/lib/adaptive/adaptive-events.mjs +0 -36
- package/esm2020/performance/lib/detailed/detailed.mjs +0 -53
- package/esm2020/performance/lib/stats/stats.mjs +0 -79
- package/esm2020/shaders/lib/blur-pass/blur-pass.mjs +0 -61
- package/esm2020/staging/lib/accumulative-shadows/accumulative-shadows.mjs +0 -247
- package/esm2020/staging/lib/accumulative-shadows/randomized-lights.mjs +0 -199
- package/esm2020/staging/lib/camera-shake/camera-shake.mjs +0 -121
- package/esm2020/staging/lib/caustics/caustics.mjs +0 -363
- package/esm2020/staging/lib/center/center.mjs +0 -142
- package/esm2020/staging/lib/cloud/cloud.mjs +0 -159
- package/esm2020/staging/lib/contact-shadows/contact-shadows.mjs +0 -227
- package/esm2020/staging/lib/environment/environment-cube.mjs +0 -40
- package/esm2020/staging/lib/environment/environment-ground.mjs +0 -66
- package/esm2020/staging/lib/environment/environment-inputs.mjs +0 -86
- package/esm2020/staging/lib/environment/environment-map.mjs +0 -38
- package/esm2020/staging/lib/environment/environment-portal.mjs +0 -110
- package/esm2020/staging/lib/float/float.mjs +0 -76
- package/esm2020/staging/lib/sky/sky.mjs +0 -108
- package/esm2020/staging/lib/sparkles/sparkles.mjs +0 -209
- package/esm2020/staging/lib/spot-light/shadow-mesh-input.mjs +0 -50
- package/esm2020/staging/lib/spot-light/spot-light-input.mjs +0 -61
- package/esm2020/staging/lib/spot-light/spot-light-shadow-no-shader.mjs +0 -73
- package/esm2020/staging/lib/spot-light/spot-light-shadow-shader.mjs +0 -125
- package/esm2020/staging/lib/spot-light/spot-light.mjs +0 -116
- package/esm2020/staging/lib/spot-light/volumetric-mesh.mjs +0 -85
- package/esm2020/staging/lib/stars/stars.mjs +0 -139
- package/fesm2015/angular-three-soba-abstractions.mjs +0 -2048
- package/fesm2015/angular-three-soba-controls.mjs +0 -153
- package/fesm2015/angular-three-soba-controls.mjs.map +0 -1
- package/fesm2015/angular-three-soba-loaders.mjs +0 -229
- package/fesm2015/angular-three-soba-loaders.mjs.map +0 -1
- package/fesm2015/angular-three-soba-materials.mjs +0 -851
- package/fesm2015/angular-three-soba-materials.mjs.map +0 -1
- package/fesm2015/angular-three-soba-misc.mjs +0 -148
- package/fesm2015/angular-three-soba-misc.mjs.map +0 -1
- package/fesm2015/angular-three-soba-performance.mjs +0 -210
- package/fesm2015/angular-three-soba-performance.mjs.map +0 -1
- package/fesm2015/angular-three-soba-shaders.mjs +0 -1239
- package/fesm2015/angular-three-soba-shaders.mjs.map +0 -1
- package/fesm2015/angular-three-soba-staging.mjs +0 -3772
- package/fesm2015/angular-three-soba-staging.mjs.map +0 -1
- package/fesm2020/angular-three-soba-abstractions.mjs.map +0 -1
- package/fesm2020/angular-three-soba-cameras.mjs +0 -347
- package/fesm2020/angular-three-soba-cameras.mjs.map +0 -1
- package/fesm2020/angular-three-soba-controls.mjs.map +0 -1
- package/fesm2020/angular-three-soba-shaders.mjs.map +0 -1
- package/fesm2020/angular-three-soba.mjs +0 -6
- package/fesm2020/angular-three-soba.mjs.map +0 -1
- /package/{esm2020 → esm2022}/abstractions/angular-three-soba-abstractions.mjs +0 -0
- /package/{esm2020 → esm2022}/abstractions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/abstractions/lib/gizmo-helper/gizmo-viewcube/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/angular-three-soba.mjs +0 -0
- /package/{esm2020 → esm2022}/cameras/angular-three-soba-cameras.mjs +0 -0
- /package/{esm2020 → esm2022}/cameras/index.mjs +0 -0
- /package/{esm2020 → esm2022}/controls/angular-three-soba-controls.mjs +0 -0
- /package/{esm2020 → esm2022}/controls/index.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/angular-three-soba-loaders.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/lib/gltf-loader/gltf-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/lib/progress/progress.mjs +0 -0
- /package/{esm2020 → esm2022}/loaders/lib/texture-loader/texture-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/materials/angular-three-soba-materials.mjs +0 -0
- /package/{esm2020 → esm2022}/materials/index.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/angular-three-soba-misc.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/index.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/lib/animations/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/lib/depth-buffer/depth-buffer.mjs +0 -0
- /package/{esm2020 → esm2022}/misc/lib/fbo/fbo.mjs +0 -0
- /package/{esm2020 → esm2022}/performance/angular-three-soba-performance.mjs +0 -0
- /package/{esm2020 → esm2022}/performance/index.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/angular-three-soba-shaders.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/index.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/caustics-material/caustics-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/caustics-projection-material/caustics-projection-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/convolution-material/convolution-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/discard-material/discard-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-distort-material/mesh-distort-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-reflector-material/mesh-reflector-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-refraction-material/mesh-refraction-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-transmission-material/mesh-transmission-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/mesh-wobble-material/mesh-wobble-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/shader-material/shader-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/soft-shadow-material/soft-shadow-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/spot-light-material/spot-light-material.mjs +0 -0
- /package/{esm2020 → esm2022}/shaders/lib/star-field-material/star-field-material.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/angular-three-soba-staging.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/index.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/accumulative-shadows/progressive-light-map.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/environment/assets.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/environment/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/staging/lib/spot-light/common.mjs +0 -0
- /package/{fesm2015 → fesm2022}/angular-three-soba.mjs +0 -0
- /package/{fesm2015 → fesm2022}/angular-three-soba.mjs.map +0 -0
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, InjectionToken, Input } from '@angular/core';
|
|
3
|
-
import { extend, injectNgtRef, NgtArgs } from 'angular-three';
|
|
4
|
-
import { Group, SpotLight, SpotLightHelper } from 'three';
|
|
5
|
-
import { NgtsSpotLightInput } from './spot-light-input';
|
|
6
|
-
import { NgtsVolumetricMesh } from './volumetric-mesh';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
extend({ SpotLight, SpotLightHelper, Group });
|
|
9
|
-
export const NGTS_SPOT_LIGHT_API = new InjectionToken('NgtsSpotLight API');
|
|
10
|
-
function spotLightApiFactory(spotLight) {
|
|
11
|
-
const api = {
|
|
12
|
-
spotLight: spotLight.spotLightRef,
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(api, 'debug', {
|
|
15
|
-
get: () => spotLight.get('debug'),
|
|
16
|
-
});
|
|
17
|
-
return api;
|
|
18
|
-
}
|
|
19
|
-
export class NgtsSpotLight extends NgtsSpotLightInput {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.spotLightRef = injectNgtRef();
|
|
23
|
-
}
|
|
24
|
-
set volumetric(volumetric) {
|
|
25
|
-
this.set({ volumetric });
|
|
26
|
-
}
|
|
27
|
-
initialize() {
|
|
28
|
-
super.initialize();
|
|
29
|
-
this.set({
|
|
30
|
-
opacity: 1,
|
|
31
|
-
color: 'white',
|
|
32
|
-
distance: 5,
|
|
33
|
-
angle: 0.15,
|
|
34
|
-
attenuation: 5,
|
|
35
|
-
anglePower: 5,
|
|
36
|
-
volumetric: true,
|
|
37
|
-
debug: false,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
NgtsSpotLight.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsSpotLight, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
NgtsSpotLight.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsSpotLight, isStandalone: true, selector: "ngts-spot-light", inputs: { spotLightRef: "spotLightRef", volumetric: "volumetric" }, providers: [{ provide: NGTS_SPOT_LIGHT_API, useFactory: spotLightApiFactory, deps: [NgtsSpotLight] }], usesInheritance: true, ngImport: i0, template: `
|
|
43
|
-
<ngt-group>
|
|
44
|
-
<ng-container *ngIf="get('debug') && spotLightRef.nativeElement">
|
|
45
|
-
<ngt-spot-light-helper *args="[spotLightRef.nativeElement]" />
|
|
46
|
-
</ng-container>
|
|
47
|
-
<ngt-spot-light
|
|
48
|
-
[ref]="spotLightRef"
|
|
49
|
-
[color]="get('color')"
|
|
50
|
-
[distance]="get('distance')"
|
|
51
|
-
[angle]="get('angle')"
|
|
52
|
-
[castShadow]="true"
|
|
53
|
-
ngtCompound
|
|
54
|
-
>
|
|
55
|
-
<ngts-volumetric-mesh
|
|
56
|
-
*ngIf="get('volumetric')"
|
|
57
|
-
[debug]="get('debug')"
|
|
58
|
-
[opacity]="get('opacity')"
|
|
59
|
-
[radiusTop]="get('radiusTop')"
|
|
60
|
-
[radiusBottom]="get('radiusBottom')"
|
|
61
|
-
[depthBuffer]="get('depthBuffer')"
|
|
62
|
-
[color]="get('color')"
|
|
63
|
-
[distance]="get('distance')"
|
|
64
|
-
[angle]="get('angle')"
|
|
65
|
-
[attenuation]="get('attenuation')"
|
|
66
|
-
[anglePower]="get('anglePower')"
|
|
67
|
-
/>
|
|
68
|
-
</ngt-spot-light>
|
|
69
|
-
<ng-content />
|
|
70
|
-
</ngt-group>
|
|
71
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "component", type: NgtsVolumetricMesh, selector: "ngts-volumetric-mesh" }] });
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsSpotLight, decorators: [{
|
|
73
|
-
type: Component,
|
|
74
|
-
args: [{
|
|
75
|
-
selector: 'ngts-spot-light',
|
|
76
|
-
standalone: true,
|
|
77
|
-
template: `
|
|
78
|
-
<ngt-group>
|
|
79
|
-
<ng-container *ngIf="get('debug') && spotLightRef.nativeElement">
|
|
80
|
-
<ngt-spot-light-helper *args="[spotLightRef.nativeElement]" />
|
|
81
|
-
</ng-container>
|
|
82
|
-
<ngt-spot-light
|
|
83
|
-
[ref]="spotLightRef"
|
|
84
|
-
[color]="get('color')"
|
|
85
|
-
[distance]="get('distance')"
|
|
86
|
-
[angle]="get('angle')"
|
|
87
|
-
[castShadow]="true"
|
|
88
|
-
ngtCompound
|
|
89
|
-
>
|
|
90
|
-
<ngts-volumetric-mesh
|
|
91
|
-
*ngIf="get('volumetric')"
|
|
92
|
-
[debug]="get('debug')"
|
|
93
|
-
[opacity]="get('opacity')"
|
|
94
|
-
[radiusTop]="get('radiusTop')"
|
|
95
|
-
[radiusBottom]="get('radiusBottom')"
|
|
96
|
-
[depthBuffer]="get('depthBuffer')"
|
|
97
|
-
[color]="get('color')"
|
|
98
|
-
[distance]="get('distance')"
|
|
99
|
-
[angle]="get('angle')"
|
|
100
|
-
[attenuation]="get('attenuation')"
|
|
101
|
-
[anglePower]="get('anglePower')"
|
|
102
|
-
/>
|
|
103
|
-
</ngt-spot-light>
|
|
104
|
-
<ng-content />
|
|
105
|
-
</ngt-group>
|
|
106
|
-
`,
|
|
107
|
-
imports: [NgIf, NgtArgs, NgtsVolumetricMesh],
|
|
108
|
-
providers: [{ provide: NGTS_SPOT_LIGHT_API, useFactory: spotLightApiFactory, deps: [NgtsSpotLight] }],
|
|
109
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
110
|
-
}]
|
|
111
|
-
}], propDecorators: { spotLightRef: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], volumetric: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvdC1saWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci10aHJlZS1zb2JhL3N0YWdpbmcvc3JjL2xpYi9zcG90LWxpZ2h0L3Nwb3QtbGlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdkQsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBTzlDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFtQixtQkFBbUIsQ0FBQyxDQUFDO0FBRTdGLFNBQVMsbUJBQW1CLENBQUMsU0FBd0I7SUFDakQsTUFBTSxHQUFHLEdBQUc7UUFDUixTQUFTLEVBQUUsU0FBUyxDQUFDLFlBQVk7S0FDcEMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRTtRQUNoQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7S0FDcEMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUF1QixDQUFDO0FBQ25DLENBQUM7QUF1Q0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxrQkFBa0I7SUFyQ3JEOztRQXNDYSxpQkFBWSxHQUFHLFlBQVksRUFBbUIsQ0FBQztLQW1CM0Q7SUFqQkcsSUFBYSxVQUFVLENBQUMsVUFBbUI7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVRLFVBQVU7UUFDZixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNMLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsQ0FBQztZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLENBQUM7WUFDZCxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MEdBbkJRLGFBQWE7OEZBQWIsYUFBYSxrSUFIWCxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGlEQS9CM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNkJULDREQUNTLElBQUksNkZBQUUsT0FBTyxxRUFBRSxrQkFBa0I7MkZBSWxDLGFBQWE7a0JBckN6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBNkJUO29CQUNELE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsa0JBQWtCLENBQUM7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7b0JBQ3JHLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzs4QkFFWSxZQUFZO3NCQUFwQixLQUFLO2dCQUVPLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5qZWN0aW9uVG9rZW4sIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0SW5qZWN0ZWRSZWYgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEdyb3VwLCBTcG90TGlnaHQsIFNwb3RMaWdodEhlbHBlciB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNTcG90TGlnaHRJbnB1dCB9IGZyb20gJy4vc3BvdC1saWdodC1pbnB1dCc7XG5pbXBvcnQgeyBOZ3RzVm9sdW1ldHJpY01lc2ggfSBmcm9tICcuL3ZvbHVtZXRyaWMtbWVzaCc7XG5cbmV4dGVuZCh7IFNwb3RMaWdodCwgU3BvdExpZ2h0SGVscGVyLCBHcm91cCB9KTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzU3BvdExpZ2h0QVBJIHtcbiAgICBzcG90TGlnaHQ6IE5ndEluamVjdGVkUmVmPFRIUkVFLlNwb3RMaWdodD47XG4gICAgZGVidWc6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBOR1RTX1NQT1RfTElHSFRfQVBJID0gbmV3IEluamVjdGlvblRva2VuPE5ndHNTcG90TGlnaHRBUEk+KCdOZ3RzU3BvdExpZ2h0IEFQSScpO1xuXG5mdW5jdGlvbiBzcG90TGlnaHRBcGlGYWN0b3J5KHNwb3RMaWdodDogTmd0c1Nwb3RMaWdodCk6IE5ndHNTcG90TGlnaHRBUEkge1xuICAgIGNvbnN0IGFwaSA9IHtcbiAgICAgICAgc3BvdExpZ2h0OiBzcG90TGlnaHQuc3BvdExpZ2h0UmVmLFxuICAgIH07XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBpLCAnZGVidWcnLCB7XG4gICAgICAgIGdldDogKCkgPT4gc3BvdExpZ2h0LmdldCgnZGVidWcnKSxcbiAgICB9KTtcblxuICAgIHJldHVybiBhcGkgYXMgTmd0c1Nwb3RMaWdodEFQSTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RzLXNwb3QtbGlnaHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1ncm91cD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXQoJ2RlYnVnJykgJiYgc3BvdExpZ2h0UmVmLm5hdGl2ZUVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICA8bmd0LXNwb3QtbGlnaHQtaGVscGVyICphcmdzPVwiW3Nwb3RMaWdodFJlZi5uYXRpdmVFbGVtZW50XVwiIC8+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZ3Qtc3BvdC1saWdodFxuICAgICAgICAgICAgICAgIFtyZWZdPVwic3BvdExpZ2h0UmVmXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiZ2V0KCdjb2xvcicpXCJcbiAgICAgICAgICAgICAgICBbZGlzdGFuY2VdPVwiZ2V0KCdkaXN0YW5jZScpXCJcbiAgICAgICAgICAgICAgICBbYW5nbGVdPVwiZ2V0KCdhbmdsZScpXCJcbiAgICAgICAgICAgICAgICBbY2FzdFNoYWRvd109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBuZ3RDb21wb3VuZFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZ3RzLXZvbHVtZXRyaWMtbWVzaFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldCgndm9sdW1ldHJpYycpXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlYnVnXT1cImdldCgnZGVidWcnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtvcGFjaXR5XT1cImdldCgnb3BhY2l0eScpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JhZGl1c1RvcF09XCJnZXQoJ3JhZGl1c1RvcCcpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JhZGl1c0JvdHRvbV09XCJnZXQoJ3JhZGl1c0JvdHRvbScpXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlcHRoQnVmZmVyXT1cImdldCgnZGVwdGhCdWZmZXInKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJnZXQoJ2NvbG9yJylcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzdGFuY2VdPVwiZ2V0KCdkaXN0YW5jZScpXCJcbiAgICAgICAgICAgICAgICAgICAgW2FuZ2xlXT1cImdldCgnYW5nbGUnKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRlbnVhdGlvbl09XCJnZXQoJ2F0dGVudWF0aW9uJylcIlxuICAgICAgICAgICAgICAgICAgICBbYW5nbGVQb3dlcl09XCJnZXQoJ2FuZ2xlUG93ZXInKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmd0LXNwb3QtbGlnaHQ+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25ndC1ncm91cD5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ3RBcmdzLCBOZ3RzVm9sdW1ldHJpY01lc2hdLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdUU19TUE9UX0xJR0hUX0FQSSwgdXNlRmFjdG9yeTogc3BvdExpZ2h0QXBpRmFjdG9yeSwgZGVwczogW05ndHNTcG90TGlnaHRdIH1dLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1Nwb3RMaWdodCBleHRlbmRzIE5ndHNTcG90TGlnaHRJbnB1dCB7XG4gICAgQElucHV0KCkgc3BvdExpZ2h0UmVmID0gaW5qZWN0Tmd0UmVmPFRIUkVFLlNwb3RMaWdodD4oKTtcblxuICAgIEBJbnB1dCgpIHNldCB2b2x1bWV0cmljKHZvbHVtZXRyaWM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXQoeyB2b2x1bWV0cmljIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgZGlzdGFuY2U6IDUsXG4gICAgICAgICAgICBhbmdsZTogMC4xNSxcbiAgICAgICAgICAgIGF0dGVudWF0aW9uOiA1LFxuICAgICAgICAgICAgYW5nbGVQb3dlcjogNSxcbiAgICAgICAgICAgIHZvbHVtZXRyaWM6IHRydWUsXG4gICAgICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, inject } from '@angular/core';
|
|
2
|
-
import { extend, injectBeforeRender, injectNgtRef, NgtArgs, NgtStore, startWithUndefined } from 'angular-three';
|
|
3
|
-
import { SpotLightMaterial } from 'angular-three-soba/shaders';
|
|
4
|
-
import { combineLatest, map } from 'rxjs';
|
|
5
|
-
import * as THREE from 'three';
|
|
6
|
-
import { Mesh } from 'three';
|
|
7
|
-
import { NgtsSpotLightInput } from './spot-light-input';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
extend({ Mesh });
|
|
10
|
-
export class NgtsVolumetricMesh extends NgtsSpotLightInput {
|
|
11
|
-
initialize() {
|
|
12
|
-
super.initialize();
|
|
13
|
-
this.set({ opacity: 1, color: 'white', distance: 5, angle: 0.15, attenuation: 5, anglePower: 5 });
|
|
14
|
-
}
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
this.mesh = injectNgtRef();
|
|
18
|
-
this.material = new SpotLightMaterial();
|
|
19
|
-
this.nullRaycast = () => null;
|
|
20
|
-
this.vec = new THREE.Vector3();
|
|
21
|
-
this.store = inject(NgtStore);
|
|
22
|
-
this.connect('normalizedRadiusTop', this.select('radiusTop').pipe(startWithUndefined(), map((radiusTop) => (radiusTop === undefined ? 0.1 : radiusTop))));
|
|
23
|
-
this.connect('normalizedRadiusBottom', combineLatest([this.select('radiusBottom').pipe(startWithUndefined()), this.select('angle')]).pipe(map(([radiusBottom, angle]) => (radiusBottom === undefined ? angle * 7 : radiusBottom))));
|
|
24
|
-
this.connect('geometry', combineLatest([
|
|
25
|
-
this.select('normalizedRadiusTop'),
|
|
26
|
-
this.select('normalizedRadiusBottom'),
|
|
27
|
-
this.select('distance'),
|
|
28
|
-
]).pipe(map(([radiusTop, radiusBottom, distance]) => {
|
|
29
|
-
const geometry = new THREE.CylinderGeometry(radiusTop, radiusBottom, distance, 128, 64, true);
|
|
30
|
-
geometry.applyMatrix4(new THREE.Matrix4().makeTranslation(0, -distance / 2, 0));
|
|
31
|
-
geometry.applyMatrix4(new THREE.Matrix4().makeRotationX(-Math.PI / 2));
|
|
32
|
-
return geometry;
|
|
33
|
-
})));
|
|
34
|
-
this.connect('cameraNear', this.store.select('camera').pipe(map((camera) => camera.near)));
|
|
35
|
-
this.connect('cameraFar', this.store.select('camera').pipe(map((camera) => camera.far)));
|
|
36
|
-
this.connect('resolution', combineLatest([
|
|
37
|
-
this.select('depthBuffer').pipe(startWithUndefined()),
|
|
38
|
-
this.store.select('size'),
|
|
39
|
-
this.store.select('viewport', 'dpr'),
|
|
40
|
-
]).pipe(map(([depthBuffer, size, dpr]) => (depthBuffer ? [size.width * dpr, size.height * dpr] : [0, 0]))));
|
|
41
|
-
injectBeforeRender(() => {
|
|
42
|
-
this.material.uniforms['spotPosition'].value.copy(this.mesh.nativeElement.getWorldPosition(this.vec));
|
|
43
|
-
this.mesh.nativeElement.lookAt(this.mesh.nativeElement.parent.target.getWorldPosition(this.vec));
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
NgtsVolumetricMesh.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsVolumetricMesh, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
NgtsVolumetricMesh.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsVolumetricMesh, isStandalone: true, selector: "ngts-volumetric-mesh", usesInheritance: true, ngImport: i0, template: `
|
|
49
|
-
<ngt-mesh [ref]="mesh" [geometry]="get('geometry')" [raycast]="nullRaycast">
|
|
50
|
-
<ngt-primitive *args="[material]" attach="material">
|
|
51
|
-
<ngt-value [rawValue]="get('opacity')" attach="uniforms.opacity.value" />
|
|
52
|
-
<ngt-value [rawValue]="get('color')" attach="uniforms.lightColor.value" />
|
|
53
|
-
<ngt-value [rawValue]="get('attenuation')" attach="uniforms.attenuation.value" />
|
|
54
|
-
<ngt-value [rawValue]="get('anglePower')" attach="uniforms.anglePower.value" />
|
|
55
|
-
<ngt-value [rawvalue]="get('depthBuffer')" attach="uniforms.depth.value" />
|
|
56
|
-
<ngt-value [rawvalue]="get('cameraNear')" attach="uniforms.cameraNear.value" />
|
|
57
|
-
<ngt-value [rawvalue]="get('cameraFar')" attach="uniforms.cameraFar.value" />
|
|
58
|
-
<ngt-value [rawvalue]="get('resolution')" attach="uniforms.resolution.value" />
|
|
59
|
-
</ngt-primitive>
|
|
60
|
-
</ngt-mesh>
|
|
61
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsVolumetricMesh, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{
|
|
65
|
-
selector: 'ngts-volumetric-mesh',
|
|
66
|
-
standalone: true,
|
|
67
|
-
template: `
|
|
68
|
-
<ngt-mesh [ref]="mesh" [geometry]="get('geometry')" [raycast]="nullRaycast">
|
|
69
|
-
<ngt-primitive *args="[material]" attach="material">
|
|
70
|
-
<ngt-value [rawValue]="get('opacity')" attach="uniforms.opacity.value" />
|
|
71
|
-
<ngt-value [rawValue]="get('color')" attach="uniforms.lightColor.value" />
|
|
72
|
-
<ngt-value [rawValue]="get('attenuation')" attach="uniforms.attenuation.value" />
|
|
73
|
-
<ngt-value [rawValue]="get('anglePower')" attach="uniforms.anglePower.value" />
|
|
74
|
-
<ngt-value [rawvalue]="get('depthBuffer')" attach="uniforms.depth.value" />
|
|
75
|
-
<ngt-value [rawvalue]="get('cameraNear')" attach="uniforms.cameraNear.value" />
|
|
76
|
-
<ngt-value [rawvalue]="get('cameraFar')" attach="uniforms.cameraFar.value" />
|
|
77
|
-
<ngt-value [rawvalue]="get('resolution')" attach="uniforms.resolution.value" />
|
|
78
|
-
</ngt-primitive>
|
|
79
|
-
</ngt-mesh>
|
|
80
|
-
`,
|
|
81
|
-
imports: [NgtArgs],
|
|
82
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
83
|
-
}]
|
|
84
|
-
}], ctorParameters: function () { return []; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sdW1ldHJpYy1tZXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRocmVlLXNvYmEvc3RhZ2luZy9zcmMvbGliL3Nwb3QtbGlnaHQvdm9sdW1ldHJpYy1tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFeEQsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQXNCakIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtJQVE3QyxVQUFVO1FBQ2YsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFiSCxTQUFJLEdBQUcsWUFBWSxFQUFj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LE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0Tmd0UmVmLCBOZ3RBcmdzLCBOZ3RTdG9yZSwgc3RhcnRXaXRoVW5kZWZpbmVkIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTcG90TGlnaHRNYXRlcmlhbCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9zaGFkZXJzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTWVzaCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNTcG90TGlnaHRJbnB1dCB9IGZyb20gJy4vc3BvdC1saWdodC1pbnB1dCc7XG5cbmV4dGVuZCh7IE1lc2ggfSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0cy12b2x1bWV0cmljLW1lc2gnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1tZXNoIFtyZWZdPVwibWVzaFwiIFtnZW9tZXRyeV09XCJnZXQoJ2dlb21ldHJ5JylcIiBbcmF5Y2FzdF09XCJudWxsUmF5Y2FzdFwiPlxuICAgICAgICAgICAgPG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbbWF0ZXJpYWxdXCIgYXR0YWNoPVwibWF0ZXJpYWxcIj5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJnZXQoJ29wYWNpdHknKVwiIGF0dGFjaD1cInVuaWZvcm1zLm9wYWNpdHkudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImdldCgnY29sb3InKVwiIGF0dGFjaD1cInVuaWZvcm1zLmxpZ2h0Q29sb3IudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd1ZhbHVlXT1cImdldCgnYXR0ZW51YXRpb24nKVwiIGF0dGFjaD1cInVuaWZvcm1zLmF0dGVudWF0aW9uLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJnZXQoJ2FuZ2xlUG93ZXInKVwiIGF0dGFjaD1cInVuaWZvcm1zLmFuZ2xlUG93ZXIudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd3ZhbHVlXT1cImdldCgnZGVwdGhCdWZmZXInKVwiIGF0dGFjaD1cInVuaWZvcm1zLmRlcHRoLnZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LXZhbHVlIFtyYXd2YWx1ZV09XCJnZXQoJ2NhbWVyYU5lYXInKVwiIGF0dGFjaD1cInVuaWZvcm1zLmNhbWVyYU5lYXIudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd3ZhbHVlXT1cImdldCgnY2FtZXJhRmFyJylcIiBhdHRhY2g9XCJ1bmlmb3Jtcy5jYW1lcmFGYXIudmFsdWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgW3Jhd3ZhbHVlXT1cImdldCgncmVzb2x1dGlvbicpXCIgYXR0YWNoPVwidW5pZm9ybXMucmVzb2x1dGlvbi52YWx1ZVwiIC8+XG4gICAgICAgICAgICA8L25ndC1wcmltaXRpdmU+XG4gICAgICAgIDwvbmd0LW1lc2g+XG4gICAgYCxcbiAgICBpbXBvcnRzOiBbTmd0QXJnc10sXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzVm9sdW1ldHJpY01lc2ggZXh0ZW5kcyBOZ3RzU3BvdExpZ2h0SW5wdXQge1xuICAgIHJlYWRvbmx5IG1lc2ggPSBpbmplY3ROZ3RSZWY8VEhSRUUuTWVzaD4oKTtcbiAgICByZWFkb25seSBtYXRlcmlhbCA9IG5ldyBTcG90TGlnaHRNYXRlcmlhbCgpO1xuICAgIHJlYWRvbmx5IG51bGxSYXljYXN0ID0gKCkgPT4gbnVsbDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVjID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcblxuICAgIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5zZXQoeyBvcGFjaXR5OiAxLCBjb2xvcjogJ3doaXRlJywgZGlzdGFuY2U6IDUsIGFuZ2xlOiAwLjE1LCBhdHRlbnVhdGlvbjogNSwgYW5nbGVQb3dlcjogNSB9KTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb25uZWN0KFxuICAgICAgICAgICAgJ25vcm1hbGl6ZWRSYWRpdXNUb3AnLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ3JhZGl1c1RvcCcpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoVW5kZWZpbmVkKCksXG4gICAgICAgICAgICAgICAgbWFwKChyYWRpdXNUb3ApID0+IChyYWRpdXNUb3AgPT09IHVuZGVmaW5lZCA/IDAuMSA6IHJhZGl1c1RvcCkpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdub3JtYWxpemVkUmFkaXVzQm90dG9tJyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VsZWN0KCdyYWRpdXNCb3R0b20nKS5waXBlKHN0YXJ0V2l0aFVuZGVmaW5lZCgpKSwgdGhpcy5zZWxlY3QoJ2FuZ2xlJyldKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW3JhZGl1c0JvdHRvbSwgYW5nbGVdKSA9PiAocmFkaXVzQm90dG9tID09PSB1bmRlZmluZWQgPyBhbmdsZSAqIDcgOiByYWRpdXNCb3R0b20pKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdnZW9tZXRyeScsXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdCgnbm9ybWFsaXplZFJhZGl1c1RvcCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdub3JtYWxpemVkUmFkaXVzQm90dG9tJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QoJ2Rpc3RhbmNlJyksXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW3JhZGl1c1RvcCwgcmFkaXVzQm90dG9tLCBkaXN0YW5jZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuQ3lsaW5kZXJHZW9tZXRyeShyYWRpdXNUb3AsIHJhZGl1c0JvdHRvbSwgZGlzdGFuY2UsIDEyOCwgNjQsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBnZW9tZXRyeS5hcHBseU1hdHJpeDQobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlVHJhbnNsYXRpb24oMCwgLWRpc3RhbmNlIC8gMiwgMCkpO1xuICAgICAgICAgICAgICAgICAgICBnZW9tZXRyeS5hcHBseU1hdHJpeDQobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25YKC1NYXRoLlBJIC8gMikpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNvbm5lY3QoJ2NhbWVyYU5lYXInLCB0aGlzLnN0b3JlLnNlbGVjdCgnY2FtZXJhJykucGlwZShtYXAoKGNhbWVyYSkgPT4gY2FtZXJhLm5lYXIpKSk7XG4gICAgICAgIHRoaXMuY29ubmVjdCgnY2FtZXJhRmFyJywgdGhpcy5zdG9yZS5zZWxlY3QoJ2NhbWVyYScpLnBpcGUobWFwKChjYW1lcmEpID0+IGNhbWVyYS5mYXIpKSk7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdyZXNvbHV0aW9uJyxcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0KCdkZXB0aEJ1ZmZlcicpLnBpcGUoc3RhcnRXaXRoVW5kZWZpbmVkKCkpLFxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyksXG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ3ZpZXdwb3J0JywgJ2RwcicpLFxuICAgICAgICAgICAgXSkucGlwZShtYXAoKFtkZXB0aEJ1ZmZlciwgc2l6ZSwgZHByXSkgPT4gKGRlcHRoQnVmZmVyID8gW3NpemUud2lkdGggKiBkcHIsIHNpemUuaGVpZ2h0ICogZHByXSA6IFswLCAwXSkpKVxuICAgICAgICApO1xuXG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1hdGVyaWFsLnVuaWZvcm1zWydzcG90UG9zaXRpb24nXS52YWx1ZS5jb3B5KHRoaXMubWVzaC5uYXRpdmVFbGVtZW50LmdldFdvcmxkUG9zaXRpb24odGhpcy52ZWMpKTtcbiAgICAgICAgICAgIHRoaXMubWVzaC5uYXRpdmVFbGVtZW50Lmxvb2tBdChcbiAgICAgICAgICAgICAgICAodGhpcy5tZXNoLm5hdGl2ZUVsZW1lbnQucGFyZW50IGFzIFRIUkVFLlNwb3RMaWdodCkudGFyZ2V0LmdldFdvcmxkUG9zaXRpb24odGhpcy52ZWMpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
-
import { extend, injectBeforeRender, injectNgtRef, NgtArgs, NgtRxStore } from 'angular-three';
|
|
3
|
-
import { StarFieldMaterial } from 'angular-three-soba/shaders';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { BufferAttribute, BufferGeometry, Color, Points, Spherical, Vector3 } from 'three';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
extend({ Points, BufferGeometry, BufferAttribute });
|
|
8
|
-
const genStar = (r) => {
|
|
9
|
-
return new Vector3().setFromSpherical(new Spherical(r, Math.acos(1 - Math.random() * 2), Math.random() * 2 * Math.PI));
|
|
10
|
-
};
|
|
11
|
-
export class NgtsStars extends NgtRxStore {
|
|
12
|
-
set radius(radius) {
|
|
13
|
-
this.set({ radius });
|
|
14
|
-
}
|
|
15
|
-
set depth(depth) {
|
|
16
|
-
this.set({ depth });
|
|
17
|
-
}
|
|
18
|
-
set count(count) {
|
|
19
|
-
this.set({ count });
|
|
20
|
-
}
|
|
21
|
-
set factor(factor) {
|
|
22
|
-
this.set({ factor });
|
|
23
|
-
}
|
|
24
|
-
set saturation(saturation) {
|
|
25
|
-
this.set({ saturation });
|
|
26
|
-
}
|
|
27
|
-
set fade(fade) {
|
|
28
|
-
this.set({ fade });
|
|
29
|
-
}
|
|
30
|
-
set speed(speed) {
|
|
31
|
-
this.set({ speed });
|
|
32
|
-
}
|
|
33
|
-
initialize() {
|
|
34
|
-
super.initialize();
|
|
35
|
-
this.set({
|
|
36
|
-
radius: 100,
|
|
37
|
-
depth: 50,
|
|
38
|
-
count: 5000,
|
|
39
|
-
saturation: 0,
|
|
40
|
-
factor: 4,
|
|
41
|
-
fade: false,
|
|
42
|
-
speed: 1,
|
|
43
|
-
});
|
|
44
|
-
this.connect('bufferAttributes', this.select(['count', 'depth', 'factor', 'radius', 'saturation'], ({ count, depth, factor, radius, saturation }) => {
|
|
45
|
-
const positions = [];
|
|
46
|
-
const colors = [];
|
|
47
|
-
const sizes = Array.from({ length: count }, () => (0.5 + 0.5 * Math.random()) * factor);
|
|
48
|
-
const color = new Color();
|
|
49
|
-
let r = radius + depth;
|
|
50
|
-
const increment = depth / count;
|
|
51
|
-
for (let i = 0; i < count; i++) {
|
|
52
|
-
r -= increment * Math.random();
|
|
53
|
-
positions.push(...genStar(r).toArray());
|
|
54
|
-
color.setHSL(i / count, saturation, 0.9);
|
|
55
|
-
colors.push(color.r, color.g, color.b);
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
positions: new Float32Array(positions),
|
|
59
|
-
colors: new Float32Array(colors),
|
|
60
|
-
sizes: new Float32Array(sizes),
|
|
61
|
-
};
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
constructor() {
|
|
65
|
-
super();
|
|
66
|
-
this.AdditiveBlending = THREE.AdditiveBlending;
|
|
67
|
-
this.material = new StarFieldMaterial();
|
|
68
|
-
this.starsRef = injectNgtRef();
|
|
69
|
-
injectBeforeRender(this.onBeforeRender.bind(this));
|
|
70
|
-
}
|
|
71
|
-
onBeforeRender({ clock }) {
|
|
72
|
-
this.material.uniforms['time'].value = clock.getElapsedTime() * this.get('speed');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
NgtsStars.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsStars, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
-
NgtsStars.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: NgtsStars, isStandalone: true, selector: "ngts-stars", inputs: { starsRef: "starsRef", radius: "radius", depth: "depth", count: "count", factor: "factor", saturation: "saturation", fade: "fade", speed: "speed" }, usesInheritance: true, ngImport: i0, template: `
|
|
77
|
-
<ngt-points [ref]="starsRef">
|
|
78
|
-
<ngt-buffer-geometry>
|
|
79
|
-
<ngt-buffer-attribute attach="attributes.position" *args="[get('bufferAttributes').positions, 3]" />
|
|
80
|
-
<ngt-buffer-attribute attach="attributes.color" *args="[get('bufferAttributes').colors, 3]" />
|
|
81
|
-
<ngt-buffer-attribute attach="attributes.size" *args="[get('bufferAttributes').sizes, 1]" />
|
|
82
|
-
</ngt-buffer-geometry>
|
|
83
|
-
<ngt-primitive
|
|
84
|
-
*args="[material]"
|
|
85
|
-
attach="material"
|
|
86
|
-
[blending]="AdditiveBlending"
|
|
87
|
-
[depthWrite]="false"
|
|
88
|
-
[transparent]="true"
|
|
89
|
-
[vertexColors]="true"
|
|
90
|
-
>
|
|
91
|
-
<ngt-value attach="uniforms.fade.value" [rawValue]="get('fade')" />
|
|
92
|
-
</ngt-primitive>
|
|
93
|
-
</ngt-points>
|
|
94
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: NgtsStars, decorators: [{
|
|
96
|
-
type: Component,
|
|
97
|
-
args: [{
|
|
98
|
-
selector: 'ngts-stars',
|
|
99
|
-
standalone: true,
|
|
100
|
-
template: `
|
|
101
|
-
<ngt-points [ref]="starsRef">
|
|
102
|
-
<ngt-buffer-geometry>
|
|
103
|
-
<ngt-buffer-attribute attach="attributes.position" *args="[get('bufferAttributes').positions, 3]" />
|
|
104
|
-
<ngt-buffer-attribute attach="attributes.color" *args="[get('bufferAttributes').colors, 3]" />
|
|
105
|
-
<ngt-buffer-attribute attach="attributes.size" *args="[get('bufferAttributes').sizes, 1]" />
|
|
106
|
-
</ngt-buffer-geometry>
|
|
107
|
-
<ngt-primitive
|
|
108
|
-
*args="[material]"
|
|
109
|
-
attach="material"
|
|
110
|
-
[blending]="AdditiveBlending"
|
|
111
|
-
[depthWrite]="false"
|
|
112
|
-
[transparent]="true"
|
|
113
|
-
[vertexColors]="true"
|
|
114
|
-
>
|
|
115
|
-
<ngt-value attach="uniforms.fade.value" [rawValue]="get('fade')" />
|
|
116
|
-
</ngt-primitive>
|
|
117
|
-
</ngt-points>
|
|
118
|
-
`,
|
|
119
|
-
imports: [NgtArgs],
|
|
120
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
121
|
-
}]
|
|
122
|
-
}], ctorParameters: function () { return []; }, propDecorators: { starsRef: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], radius: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], depth: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], count: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], factor: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], saturation: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], fade: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], speed: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtc29iYS9zdGFnaW5nL3NyYy9saWIvc3RhcnMvc3RhcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQUUzRixNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFcEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRTtJQUMxQixPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQ2pDLElBQUksU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQ2xGLENBQUM7QUFDTixDQUFDLENBQUM7QUEyQkYsTUFBTSxPQUFPLFNBQVUsU0FBUSxVQUFVO0lBTXJDLElBQWEsTUFBTSxDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxD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T01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdE5ndFJlZiwgTmd0QXJncywgTmd0UmVuZGVyU3RhdGUsIE5ndFJ4U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IFN0YXJGaWVsZE1hdGVyaWFsIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL3NoYWRlcnMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgQnVmZmVyQXR0cmlidXRlLCBCdWZmZXJHZW9tZXRyeSwgQ29sb3IsIFBvaW50cywgU3BoZXJpY2FsLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuXG5leHRlbmQoeyBQb2ludHMsIEJ1ZmZlckdlb21ldHJ5LCBCdWZmZXJBdHRyaWJ1dGUgfSk7XG5cbmNvbnN0IGdlblN0YXIgPSAocjogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBWZWN0b3IzKCkuc2V0RnJvbVNwaGVyaWNhbChcbiAgICAgICAgbmV3IFNwaGVyaWNhbChyLCBNYXRoLmFjb3MoMSAtIE1hdGgucmFuZG9tKCkgKiAyKSwgTWF0aC5yYW5kb20oKSAqIDIgKiBNYXRoLlBJKVxuICAgICk7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25ndHMtc3RhcnMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5ndC1wb2ludHMgW3JlZl09XCJzdGFyc1JlZlwiPlxuICAgICAgICAgICAgPG5ndC1idWZmZXItZ2VvbWV0cnk+XG4gICAgICAgICAgICAgICAgPG5ndC1idWZmZXItYXR0cmlidXRlIGF0dGFjaD1cImF0dHJpYnV0ZXMucG9zaXRpb25cIiAqYXJncz1cIltnZXQoJ2J1ZmZlckF0dHJpYnV0ZXMnKS5wb3NpdGlvbnMsIDNdXCIgLz5cbiAgICAgICAgICAgICAgICA8bmd0LWJ1ZmZlci1hdHRyaWJ1dGUgYXR0YWNoPVwiYXR0cmlidXRlcy5jb2xvclwiICphcmdzPVwiW2dldCgnYnVmZmVyQXR0cmlidXRlcycpLmNvbG9ycywgM11cIiAvPlxuICAgICAgICAgICAgICAgIDxuZ3QtYnVmZmVyLWF0dHJpYnV0ZSBhdHRhY2g9XCJhdHRyaWJ1dGVzLnNpemVcIiAqYXJncz1cIltnZXQoJ2J1ZmZlckF0dHJpYnV0ZXMnKS5zaXplcywgMV1cIiAvPlxuICAgICAgICAgICAgPC9uZ3QtYnVmZmVyLWdlb21ldHJ5PlxuICAgICAgICAgICAgPG5ndC1wcmltaXRpdmVcbiAgICAgICAgICAgICAgICAqYXJncz1cIlttYXRlcmlhbF1cIlxuICAgICAgICAgICAgICAgIGF0dGFjaD1cIm1hdGVyaWFsXCJcbiAgICAgICAgICAgICAgICBbYmxlbmRpbmddPVwiQWRkaXRpdmVCbGVuZGluZ1wiXG4gICAgICAgICAgICAgICAgW2RlcHRoV3JpdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt0cmFuc3BhcmVudF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdmVydGV4Q29sb3JzXT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZ3QtdmFsdWUgYXR0YWNoPVwidW5pZm9ybXMuZmFkZS52YWx1ZVwiIFtyYXdWYWx1ZV09XCJnZXQoJ2ZhZGUnKVwiIC8+XG4gICAgICAgICAgICA8L25ndC1wcmltaXRpdmU+XG4gICAgICAgIDwvbmd0LXBvaW50cz5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtOZ3RBcmdzXSxcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTdGFycyBleHRlbmRzIE5ndFJ4U3RvcmUge1xuICAgIHJlYWRvbmx5IEFkZGl0aXZlQmxlbmRpbmcgPSBUSFJFRS5BZGRpdGl2ZUJsZW5kaW5nO1xuICAgIHJlYWRvbmx5IG1hdGVyaWFsID0gbmV3IFN0YXJGaWVsZE1hdGVyaWFsKCk7XG5cbiAgICBASW5wdXQoKSBzdGFyc1JlZiA9IGluamVjdE5ndFJlZjxQb2ludHM+KCk7XG5cbiAgICBASW5wdXQoKSBzZXQgcmFkaXVzKHJhZGl1czogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgcmFkaXVzIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBkZXB0aChkZXB0aDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZGVwdGggfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGNvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBjb3VudCB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgZmFjdG9yKGZhY3RvcjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0KHsgZmFjdG9yIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzYXR1cmF0aW9uKHNhdHVyYXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldCh7IHNhdHVyYXRpb24gfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGZhZGUoZmFkZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldCh7IGZhZGUgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHNwZWVkKHNwZWVkOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zZXQoeyBzcGVlZCB9KTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgIHJhZGl1czogMTAwLFxuICAgICAgICAgICAgZGVwdGg6IDUwLFxuICAgICAgICAgICAgY291bnQ6IDUwMDAsXG4gICAgICAgICAgICBzYXR1cmF0aW9uOiAwLFxuICAgICAgICAgICAgZmFjdG9yOiA0LFxuICAgICAgICAgICAgZmFkZTogZmFsc2UsXG4gICAgICAgICAgICBzcGVlZDogMSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29ubmVjdChcbiAgICAgICAgICAgICdidWZmZXJBdHRyaWJ1dGVzJyxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KFxuICAgICAgICAgICAgICAgIFsnY291bnQnLCAnZGVwdGgnLCAnZmFjdG9yJywgJ3JhZGl1cycsICdzYXR1cmF0aW9uJ10sXG4gICAgICAgICAgICAgICAgKHsgY291bnQsIGRlcHRoLCBmYWN0b3IsIHJhZGl1cywgc2F0dXJhdGlvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uczogYW55W10gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sb3JzOiBhbnlbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaXplcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IGNvdW50IH0sICgpID0+ICgwLjUgKyAwLjUgKiBNYXRoLnJhbmRvbSgpKSAqIGZhY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbG9yID0gbmV3IENvbG9yKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByID0gcmFkaXVzICsgZGVwdGg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluY3JlbWVudCA9IGRlcHRoIC8gY291bnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgciAtPSBpbmNyZW1lbnQgKiBNYXRoLnJhbmRvbSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25zLnB1c2goLi4uZ2VuU3RhcihyKS50b0FycmF5KCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3Iuc2V0SFNMKGkgLyBjb3VudCwgc2F0dXJhdGlvbiwgMC45KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9ycy5wdXNoKGNvbG9yLnIsIGNvbG9yLmcsIGNvbG9yLmIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IG5ldyBGbG9hdDMyQXJyYXkocG9zaXRpb25zKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yczogbmV3IEZsb2F0MzJBcnJheShjb2xvcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZXM6IG5ldyBGbG9hdDMyQXJyYXkoc2l6ZXMpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgaW5qZWN0QmVmb3JlUmVuZGVyKHRoaXMub25CZWZvcmVSZW5kZXIuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgb25CZWZvcmVSZW5kZXIoeyBjbG9jayB9OiBOZ3RSZW5kZXJTdGF0ZSkge1xuICAgICAgICB0aGlzLm1hdGVyaWFsLnVuaWZvcm1zWyd0aW1lJ10udmFsdWUgPSBjbG9jay5nZXRFbGFwc2VkVGltZSgpICogdGhpcy5nZXQoJ3NwZWVkJyk7XG4gICAgfVxufVxuIl19
|