angular-three-soba 2.0.0-beta.26 → 2.0.0-beta.261
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/README.md +62 -4
- package/abstractions/README.md +278 -2
- package/abstractions/index.d.ts +11 -6
- package/abstractions/lib/catmull-rom-line.d.ts +648 -0
- package/abstractions/lib/cubic-bezier-line.d.ts +19 -0
- package/abstractions/lib/edges.d.ts +850 -0
- package/abstractions/lib/gradient-texture.d.ts +24 -0
- package/abstractions/lib/grid.d.ts +339 -0
- package/abstractions/lib/helper.d.ts +25 -0
- package/abstractions/lib/line.d.ts +41 -0
- package/abstractions/lib/prism-geometry.d.ts +30 -0
- package/abstractions/lib/quadratic-bezier-line.d.ts +21 -0
- package/abstractions/lib/text-3d.d.ts +338 -0
- package/abstractions/lib/text.d.ts +55 -0
- package/cameras/README.md +91 -2
- package/cameras/index.d.ts +4 -4
- package/cameras/lib/camera-content.d.ts +10 -0
- package/cameras/lib/cube-camera.d.ts +38 -0
- package/cameras/lib/orthographic-camera.d.ts +40 -0
- package/cameras/lib/perspective-camera.d.ts +36 -0
- package/controls/README.md +95 -2
- package/controls/index.d.ts +2 -1
- package/controls/lib/camera-controls.d.ts +31 -0
- package/controls/lib/orbit-controls.d.ts +38 -0
- package/esm2022/abstractions/index.mjs +12 -7
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +76 -0
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +51 -0
- package/esm2022/abstractions/lib/edges.mjs +70 -0
- package/esm2022/abstractions/lib/gradient-texture.mjs +91 -0
- package/esm2022/abstractions/lib/grid.mjs +103 -0
- package/esm2022/abstractions/lib/helper.mjs +80 -0
- package/esm2022/abstractions/lib/line.mjs +123 -0
- package/esm2022/abstractions/lib/prism-geometry.mjs +55 -0
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +73 -0
- package/esm2022/abstractions/lib/text-3d.mjs +98 -0
- package/esm2022/abstractions/lib/text.mjs +92 -0
- package/esm2022/cameras/index.mjs +5 -5
- package/esm2022/cameras/lib/camera-content.mjs +14 -0
- package/esm2022/cameras/lib/cube-camera.mjs +111 -0
- package/esm2022/cameras/lib/orthographic-camera.mjs +131 -0
- package/esm2022/cameras/lib/perspective-camera.mjs +104 -0
- package/esm2022/controls/index.mjs +3 -2
- package/esm2022/controls/lib/camera-controls.mjs +127 -0
- package/esm2022/controls/lib/orbit-controls.mjs +126 -0
- package/esm2022/loaders/index.mjs +6 -5
- package/esm2022/loaders/lib/font-loader.mjs +49 -0
- package/esm2022/loaders/lib/gltf-loader.mjs +33 -0
- package/esm2022/loaders/lib/loader.mjs +109 -0
- package/esm2022/loaders/lib/progress.mjs +51 -0
- package/esm2022/loaders/lib/texture-loader.mjs +32 -0
- package/esm2022/materials/index.mjs +7 -7
- package/esm2022/materials/lib/custom-shader-material.mjs +71 -0
- package/esm2022/materials/lib/mesh-distort-material.mjs +42 -0
- package/esm2022/materials/lib/mesh-reflector-material.mjs +278 -0
- package/esm2022/materials/lib/mesh-refraction-material.mjs +144 -0
- package/esm2022/materials/lib/mesh-transmission-material.mjs +188 -0
- package/esm2022/materials/lib/mesh-wobble-material.mjs +42 -0
- package/esm2022/misc/index.mjs +10 -14
- package/esm2022/misc/lib/animations.mjs +74 -0
- package/esm2022/misc/lib/bake-shadows.mjs +26 -0
- package/esm2022/misc/lib/computed-attribute.mjs +56 -0
- package/esm2022/misc/lib/constants.mjs +5 -0
- package/esm2022/misc/lib/decal.mjs +135 -0
- package/esm2022/misc/lib/deprecated.mjs +15 -0
- package/esm2022/misc/lib/depth-buffer.mjs +39 -0
- package/esm2022/misc/lib/fbo.mjs +89 -0
- package/esm2022/misc/lib/sampler.mjs +121 -0
- package/esm2022/shaders/index.mjs +3 -18
- package/esm2022/shaders/lib/grid-material.mjs +81 -0
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +163 -0
- package/esm2022/staging/index.mjs +19 -22
- package/esm2022/staging/lib/accumulative-shadows.mjs +182 -0
- package/esm2022/staging/lib/backdrop.mjs +73 -0
- package/esm2022/staging/lib/bb-anchor.mjs +58 -0
- package/esm2022/staging/lib/bounds.mjs +286 -0
- package/esm2022/staging/lib/camera-shake.mjs +69 -0
- package/esm2022/staging/lib/caustics.mjs +188 -0
- package/esm2022/staging/lib/center.mjs +113 -0
- package/esm2022/staging/lib/contact-shadows.mjs +201 -0
- package/esm2022/staging/lib/environment.mjs +465 -0
- package/esm2022/staging/lib/float.mjs +60 -0
- package/esm2022/staging/lib/lightformer.mjs +107 -0
- package/esm2022/staging/lib/matcap-texture.mjs +81 -0
- package/esm2022/staging/lib/normal-texture.mjs +85 -0
- package/esm2022/staging/lib/randomized-lights.mjs +104 -0
- package/esm2022/staging/lib/render-texture.mjs +213 -0
- package/esm2022/staging/lib/sky.mjs +86 -0
- package/esm2022/staging/lib/spot-light.mjs +450 -0
- package/esm2022/staging/lib/stage.mjs +236 -0
- package/esm2022/vanilla-exports/angular-three-soba-vanilla-exports.mjs +5 -0
- package/esm2022/vanilla-exports/index.mjs +3 -0
- package/fesm2022/angular-three-soba-abstractions.mjs +739 -718
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +260 -307
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +174 -110
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +151 -129
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +511 -764
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +405 -2149
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs +33 -1373
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +2329 -3538
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-vanilla-exports.mjs +6 -0
- package/fesm2022/angular-three-soba-vanilla-exports.mjs.map +1 -0
- package/loaders/README.md +130 -2
- package/loaders/index.d.ts +5 -4
- package/loaders/lib/font-loader.d.ts +27 -0
- package/loaders/lib/gltf-loader.d.ts +21 -0
- package/loaders/lib/loader.d.ts +29 -0
- package/loaders/lib/progress.d.ts +9 -0
- package/loaders/lib/texture-loader.d.ts +13 -0
- package/materials/README.md +160 -2
- package/materials/index.d.ts +6 -6
- package/materials/lib/custom-shader-material.d.ts +19 -0
- package/materials/lib/mesh-distort-material.d.ts +18 -0
- package/materials/lib/mesh-reflector-material.d.ts +50 -0
- package/materials/lib/mesh-refraction-material.d.ts +42 -0
- package/materials/lib/mesh-transmission-material.d.ts +77 -0
- package/materials/lib/mesh-wobble-material.d.ts +15 -0
- package/metadata.json +1 -1
- package/misc/README.md +217 -2
- package/misc/index.d.ts +9 -13
- package/misc/lib/animations.d.ts +14 -0
- package/misc/lib/computed-attribute.d.ts +69 -0
- package/misc/lib/constants.d.ts +1 -0
- package/misc/lib/decal.d.ts +27 -0
- package/misc/lib/deprecated.d.ts +14 -0
- package/misc/lib/depth-buffer.d.ts +8 -0
- package/misc/lib/fbo.d.ts +47 -0
- package/misc/lib/sampler.d.ts +73 -0
- package/package.json +60 -38
- package/shaders/index.d.ts +2 -17
- package/shaders/lib/grid-material.d.ts +69 -0
- package/shaders/lib/mesh-refraction-material.d.ts +11 -0
- package/staging/README.md +472 -2
- package/staging/index.d.ts +18 -21
- package/staging/lib/accumulative-shadows.d.ts +75 -0
- package/staging/lib/backdrop.d.ts +22 -0
- package/staging/lib/bb-anchor.d.ts +17 -0
- package/staging/lib/bounds.d.ts +47 -0
- package/staging/lib/camera-shake.d.ts +29 -0
- package/staging/lib/caustics.d.ts +53 -0
- package/staging/lib/center.d.ts +422 -0
- package/staging/lib/contact-shadows.d.ts +45 -0
- package/staging/lib/environment.d.ts +159 -0
- package/staging/lib/float.d.ts +19 -0
- package/staging/lib/lightformer.d.ts +334 -0
- package/staging/lib/matcap-texture.d.ts +32 -0
- package/staging/lib/normal-texture.d.ts +37 -0
- package/staging/lib/randomized-lights.d.ts +54 -0
- package/staging/lib/render-texture.d.ts +64 -0
- package/staging/lib/sky.d.ts +32 -0
- package/staging/lib/spot-light.d.ts +120 -0
- package/staging/lib/stage.d.ts +376 -0
- package/vanilla-exports/README.md +3 -0
- package/vanilla-exports/index.d.ts +27 -0
- package/web-types.json +1 -1
- package/abstractions/billboard/billboard.d.ts +0 -28
- package/abstractions/detailed/detailed.d.ts +0 -26
- package/abstractions/edges/edges.d.ts +0 -34
- package/abstractions/grid/grid.d.ts +0 -50
- package/abstractions/text/text.d.ts +0 -82
- package/abstractions/text-3d/text-3d.d.ts +0 -84
- package/assets/distort.vert.glsl +0 -1
- package/cameras/camera/camera-content.d.ts +0 -13
- package/cameras/camera/camera.d.ts +0 -26
- package/cameras/cube-camera/cube-camera.d.ts +0 -69
- package/cameras/orthographic-camera/orthographic-camera.d.ts +0 -37
- package/cameras/perspective-camera/perspective-camera.d.ts +0 -18
- package/controls/orbit-controls/orbit-controls.d.ts +0 -54
- package/esm2022/abstractions/billboard/billboard.mjs +0 -74
- package/esm2022/abstractions/detailed/detailed.mjs +0 -64
- package/esm2022/abstractions/edges/edges.mjs +0 -88
- package/esm2022/abstractions/grid/grid.mjs +0 -180
- package/esm2022/abstractions/text/text.mjs +0 -274
- package/esm2022/abstractions/text-3d/text-3d.mjs +0 -172
- package/esm2022/cameras/camera/camera-content.mjs +0 -21
- package/esm2022/cameras/camera/camera.mjs +0 -77
- package/esm2022/cameras/cube-camera/cube-camera.mjs +0 -161
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +0 -102
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +0 -46
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +0 -185
- package/esm2022/gizmos/angular-three-soba-gizmos.mjs +0 -5
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +0 -197
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/constants.mjs +0 -31
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +0 -93
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +0 -150
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +0 -66
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +0 -71
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +0 -195
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +0 -272
- package/esm2022/gizmos/index.mjs +0 -4
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +0 -30
- package/esm2022/loaders/loader/loader.mjs +0 -138
- package/esm2022/loaders/progress/progress.mjs +0 -52
- package/esm2022/loaders/texture-loader/texture-loader.mjs +0 -28
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +0 -82
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +0 -367
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +0 -171
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +0 -278
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +0 -68
- package/esm2022/materials/point-material/point-material.mjs +0 -50
- package/esm2022/misc/animations/animations.mjs +0 -59
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +0 -24
- package/esm2022/misc/caustics/caustics.mjs +0 -387
- package/esm2022/misc/decal/decal.mjs +0 -187
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +0 -44
- package/esm2022/misc/example/example.mjs +0 -160
- package/esm2022/misc/fbo/fbo.mjs +0 -47
- package/esm2022/misc/html/html-wrapper.mjs +0 -478
- package/esm2022/misc/html/html.mjs +0 -304
- package/esm2022/misc/sampler/sampler.mjs +0 -142
- package/esm2022/misc/shadow/shadow.mjs +0 -111
- package/esm2022/misc/stats-gl/stats-gl.mjs +0 -61
- package/esm2022/misc/trail/trail.mjs +0 -209
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +0 -17
- package/esm2022/misc/trail-texture/trail-texture.mjs +0 -106
- package/esm2022/modifiers/angular-three-soba-modifiers.mjs +0 -5
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +0 -64
- package/esm2022/modifiers/index.mjs +0 -2
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +0 -44
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +0 -27
- package/esm2022/performances/angular-three-soba-performances.mjs +0 -5
- package/esm2022/performances/index.mjs +0 -8
- package/esm2022/performances/instances/instances.mjs +0 -220
- package/esm2022/performances/instances/position-mesh.mjs +0 -52
- package/esm2022/performances/points/points-input.mjs +0 -64
- package/esm2022/performances/points/points.mjs +0 -326
- package/esm2022/performances/points/position-point.mjs +0 -54
- package/esm2022/performances/segments/segment-object.mjs +0 -9
- package/esm2022/performances/segments/segments.mjs +0 -182
- package/esm2022/shaders/blur-pass/blur-pass.mjs +0 -61
- package/esm2022/shaders/caustics/caustics-material.mjs +0 -130
- package/esm2022/shaders/caustics/caustics-projection-material.mjs +0 -31
- package/esm2022/shaders/convolution-material/convolution-material.mjs +0 -94
- package/esm2022/shaders/discard-material/discard-material.mjs +0 -3
- package/esm2022/shaders/grid-material/grid-material.mjs +0 -77
- package/esm2022/shaders/mesh-distort-material/mesh-distort-material.mjs +0 -56
- package/esm2022/shaders/mesh-reflector-material/mesh-reflector-material.mjs +0 -223
- package/esm2022/shaders/mesh-refraction-material/mesh-refraction-material.mjs +0 -170
- package/esm2022/shaders/mesh-transmission-material/mesh-transmission-material.mjs +0 -268
- package/esm2022/shaders/mesh-wobble-material/mesh-wobble-material.mjs +0 -37
- package/esm2022/shaders/shader-material/shader-material.mjs +0 -34
- package/esm2022/shaders/soft-shadow-material/soft-shadow-material.mjs +0 -25
- package/esm2022/shaders/sparkles-material/sparkles-material.mjs +0 -33
- package/esm2022/shaders/spot-light-material/spot-light-material.mjs +0 -86
- package/esm2022/shaders/star-field-material/star-field-material.mjs +0 -33
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +0 -247
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +0 -267
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +0 -108
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +0 -206
- package/esm2022/staging/backdrop/backdrop.mjs +0 -77
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +0 -69
- package/esm2022/staging/bounds/bounds.mjs +0 -308
- package/esm2022/staging/camera-shake/camera-shake.mjs +0 -123
- package/esm2022/staging/center/center.mjs +0 -165
- package/esm2022/staging/cloud/cloud.mjs +0 -158
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +0 -246
- package/esm2022/staging/environment/assets.mjs +0 -13
- package/esm2022/staging/environment/environment-cube.mjs +0 -47
- package/esm2022/staging/environment/environment-ground.mjs +0 -41
- package/esm2022/staging/environment/environment-input.mjs +0 -119
- package/esm2022/staging/environment/environment-map.mjs +0 -53
- package/esm2022/staging/environment/environment-portal.mjs +0 -113
- package/esm2022/staging/environment/environment.mjs +0 -61
- package/esm2022/staging/environment/utils.mjs +0 -106
- package/esm2022/staging/float/float.mjs +0 -94
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +0 -64
- package/esm2022/staging/normal-texture/normal-texture.mjs +0 -53
- package/esm2022/staging/sky/sky.mjs +0 -119
- package/esm2022/staging/sparkles/sparkles.mjs +0 -164
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +0 -63
- package/esm2022/staging/spot-light/shadow-mesh.mjs +0 -266
- package/esm2022/staging/spot-light/spot-light-input.mjs +0 -84
- package/esm2022/staging/spot-light/spot-light.mjs +0 -81
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +0 -98
- package/esm2022/staging/stage/stage.mjs +0 -389
- package/esm2022/staging/stars/stars.mjs +0 -147
- package/esm2022/staging/wireframe/wireframe-input.mjs +0 -191
- package/esm2022/staging/wireframe/wireframe.mjs +0 -228
- package/esm2022/utils/angular-three-soba-utils.mjs +0 -5
- package/esm2022/utils/content/content.mjs +0 -15
- package/esm2022/utils/index.mjs +0 -2
- package/fesm2022/angular-three-soba-gizmos.mjs +0 -1043
- package/fesm2022/angular-three-soba-gizmos.mjs.map +0 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +0 -71
- package/fesm2022/angular-three-soba-modifiers.mjs.map +0 -1
- package/fesm2022/angular-three-soba-performances.mjs +0 -956
- package/fesm2022/angular-three-soba-performances.mjs.map +0 -1
- package/fesm2022/angular-three-soba-utils.mjs +0 -22
- package/fesm2022/angular-three-soba-utils.mjs.map +0 -1
- package/gizmos/README.md +0 -3
- package/gizmos/gizmo-helper/gizmo-helper.d.ts +0 -69
- package/gizmos/gizmo-helper/gizmo-viewcube/constants.d.ts +0 -12
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.d.ts +0 -22
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.d.ts +0 -29
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.d.ts +0 -33
- package/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.d.ts +0 -10
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.d.ts +0 -40
- package/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.d.ts +0 -30
- package/gizmos/index.d.ts +0 -3
- package/loaders/gltf-loader/gltf-loader.d.ts +0 -10
- package/loaders/loader/loader.d.ts +0 -33
- package/loaders/progress/progress.d.ts +0 -9
- package/loaders/texture-loader/texture-loader.d.ts +0 -7
- package/materials/mesh-distort-material/mesh-distort-material.d.ts +0 -40
- package/materials/mesh-reflector-material/mesh-reflector-material.d.ts +0 -99
- package/materials/mesh-refraction-material/mesh-refraction-material.d.ts +0 -62
- package/materials/mesh-transmission-material/mesh-transmission-material.d.ts +0 -107
- package/materials/mesh-wobble-material/mesh-wobble-material.d.ts +0 -29
- package/materials/point-material/point-material.d.ts +0 -24
- package/misc/animations/animations.d.ts +0 -15
- package/misc/caustics/caustics.d.ts +0 -87
- package/misc/decal/decal.d.ts +0 -49
- package/misc/depth-buffer/depth-buffer.d.ts +0 -9
- package/misc/example/example.d.ts +0 -81
- package/misc/fbo/fbo.d.ts +0 -17
- package/misc/html/html-wrapper.d.ts +0 -559
- package/misc/html/html.d.ts +0 -214
- package/misc/sampler/sampler.d.ts +0 -67
- package/misc/shadow/shadow.d.ts +0 -37
- package/misc/stats-gl/stats-gl.d.ts +0 -24
- package/misc/trail/trail.d.ts +0 -57
- package/misc/trail-texture/inject-trail-texture.d.ts +0 -9
- package/misc/trail-texture/trail-texture.d.ts +0 -50
- package/modifiers/README.md +0 -3
- package/modifiers/curve-modifier/curve-modifier.d.ts +0 -23
- package/modifiers/index.d.ts +0 -1
- package/performances/README.md +0 -3
- package/performances/adaptive-dpr/adaptive-dpr.d.ts +0 -14
- package/performances/adaptive-events/adaptive-events.d.ts +0 -9
- package/performances/index.d.ts +0 -7
- package/performances/instances/instances.d.ts +0 -79
- package/performances/instances/position-mesh.d.ts +0 -10
- package/performances/points/points-input.d.ts +0 -32
- package/performances/points/points.d.ts +0 -92
- package/performances/points/position-point.d.ts +0 -11
- package/performances/segments/segment-object.d.ts +0 -7
- package/performances/segments/segments.d.ts +0 -124
- package/shaders/blur-pass/blur-pass.d.ts +0 -23
- package/shaders/caustics/caustics-material.d.ts +0 -4
- package/shaders/caustics/caustics-projection-material.d.ts +0 -4
- package/shaders/convolution-material/convolution-material.d.ts +0 -7
- package/shaders/discard-material/discard-material.d.ts +0 -3
- package/shaders/grid-material/grid-material.d.ts +0 -37
- package/shaders/mesh-distort-material/mesh-distort-material.d.ts +0 -295
- package/shaders/mesh-reflector-material/mesh-reflector-material.d.ts +0 -50
- package/shaders/mesh-refraction-material/mesh-refraction-material.d.ts +0 -4
- package/shaders/mesh-transmission-material/mesh-transmission-material.d.ts +0 -25
- package/shaders/mesh-wobble-material/mesh-wobble-material.d.ts +0 -16
- package/shaders/shader-material/shader-material.d.ts +0 -6
- package/shaders/soft-shadow-material/soft-shadow-material.d.ts +0 -19
- package/shaders/sparkles-material/sparkles-material.d.ts +0 -17
- package/shaders/spot-light-material/spot-light-material.d.ts +0 -13
- package/shaders/star-field-material/star-field-material.d.ts +0 -13
- package/shaders/wireframe-material/wireframe-material.d.ts +0 -58
- package/staging/accumulative-shadows/accumulative-shadows.d.ts +0 -146
- package/staging/accumulative-shadows/progressive-light-map.d.ts +0 -34
- package/staging/accumulative-shadows/randomized-lights.d.ts +0 -90
- package/staging/backdrop/backdrop.d.ts +0 -30
- package/staging/bb-anchor/bb-anchor.d.ts +0 -27
- package/staging/bounds/bounds.d.ts +0 -134
- package/staging/camera-shake/camera-shake.d.ts +0 -43
- package/staging/center/center.d.ts +0 -70
- package/staging/cloud/cloud.d.ts +0 -51
- package/staging/contact-shadows/contact-shadows.d.ts +0 -70
- package/staging/environment/assets.d.ts +0 -13
- package/staging/environment/environment-cube.d.ts +0 -15
- package/staging/environment/environment-ground.d.ts +0 -13
- package/staging/environment/environment-input.d.ts +0 -68
- package/staging/environment/environment-map.d.ts +0 -16
- package/staging/environment/environment-portal.d.ts +0 -18
- package/staging/environment/environment.d.ts +0 -8
- package/staging/environment/utils.d.ts +0 -7
- package/staging/float/float.d.ts +0 -31
- package/staging/matcap-texture/matcap-texture.d.ts +0 -13
- package/staging/normal-texture/normal-texture.d.ts +0 -16
- package/staging/sky/sky.d.ts +0 -48
- package/staging/sparkles/sparkles.d.ts +0 -63
- package/staging/spot-light/shadow-mesh-input.d.ts +0 -29
- package/staging/spot-light/shadow-mesh.d.ts +0 -37
- package/staging/spot-light/spot-light-input.d.ts +0 -38
- package/staging/spot-light/spot-light.d.ts +0 -39
- package/staging/spot-light/volumetric-mesh.d.ts +0 -24
- package/staging/stage/stage.d.ts +0 -130
- package/staging/stars/stars.d.ts +0 -45
- package/staging/wireframe/wireframe-input.d.ts +0 -65
- package/staging/wireframe/wireframe.d.ts +0 -28
- package/utils/README.md +0 -3
- package/utils/content/content.d.ts +0 -8
- package/utils/index.d.ts +0 -1
- /package/misc/{bake-shadows → lib}/bake-shadows.d.ts +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, afterNextRender, input, viewChild, } from '@angular/core';
|
|
2
|
+
import { NgtArgs, getLocalState } from 'angular-three';
|
|
3
|
+
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
4
|
+
import { BufferAttribute } from 'three';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Used exclusively as a child of a BufferGeometry.
|
|
8
|
+
* Computes the BufferAttribute by calling the `compute` function
|
|
9
|
+
* and attaches the attribute to the geometry.
|
|
10
|
+
*/
|
|
11
|
+
export class NgtsComputedAttribute {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.compute = input.required();
|
|
14
|
+
this.name = input.required();
|
|
15
|
+
this.options = input({});
|
|
16
|
+
this.bufferAttribute = new BufferAttribute(new Float32Array(0), 1);
|
|
17
|
+
this.primitive = viewChild('primitive');
|
|
18
|
+
const autoEffect = injectAutoEffect();
|
|
19
|
+
afterNextRender(() => {
|
|
20
|
+
autoEffect(() => {
|
|
21
|
+
const primitive = this.primitive()?.nativeElement;
|
|
22
|
+
if (!primitive)
|
|
23
|
+
return;
|
|
24
|
+
const localState = getLocalState(primitive);
|
|
25
|
+
if (!localState)
|
|
26
|
+
return;
|
|
27
|
+
const geometry = primitive.parent ?? localState.parent();
|
|
28
|
+
console.log(geometry);
|
|
29
|
+
const attribute = this.compute()(geometry);
|
|
30
|
+
primitive.copy(attribute);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsComputedAttribute, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.1.0", type: NgtsComputedAttribute, isStandalone: true, selector: "ngts-computed-attribute", inputs: { compute: { classPropertyName: "compute", publicName: "compute", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "primitive", first: true, predicate: ["primitive"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
36
|
+
<ngt-primitive #primitive *args="[bufferAttribute]" [attach]="['attributes', name()]" [parameters]="options()">
|
|
37
|
+
<ng-content />
|
|
38
|
+
</ngt-primitive>
|
|
39
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsComputedAttribute, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'ngts-computed-attribute',
|
|
45
|
+
standalone: true,
|
|
46
|
+
template: `
|
|
47
|
+
<ngt-primitive #primitive *args="[bufferAttribute]" [attach]="['attributes', name()]" [parameters]="options()">
|
|
48
|
+
<ng-content />
|
|
49
|
+
</ngt-primitive>
|
|
50
|
+
`,
|
|
51
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
52
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
53
|
+
imports: [NgtArgs],
|
|
54
|
+
}]
|
|
55
|
+
}], ctorParameters: () => [] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQtYXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9jb21wdXRlZC1hdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULGVBQWUsRUFDZixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQXNCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLE9BQU8sQ0FBQzs7QUFjeEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFRakM7UUFQQSxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBaUQsQ0FBQztRQUMxRSxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBaUMsQ0FBQyxDQUFDO1FBRW5ELG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsY0FBUyxHQUFHLFNBQVMsQ0FBOEIsV0FBVyxDQUFDLENBQUM7UUFHL0QsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUV0QyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGFBQWEsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFNBQVM7b0JBQUUsT0FBTztnQkFFdkIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsVUFBVTtvQkFBRSxPQUFPO2dCQUV4QixNQUFNLFFBQVEsR0FBSyxTQUFpQixDQUFDLE1BQXlCLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0RixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUV0QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzNDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBMUJXLHFCQUFxQjtrR0FBckIscUJBQXFCLHNrQkFkdkI7Ozs7RUFJVCw0REFHUyxPQUFPOzsyRkFPTCxxQkFBcUI7a0JBakJqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGlucHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgTmd0QnVmZmVyQXR0cmlidXRlLCBnZXRMb2NhbFN0YXRlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBCdWZmZXJBdHRyaWJ1dGUsIEJ1ZmZlckdlb21ldHJ5IH0gZnJvbSAndGhyZWUnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWNvbXB1dGVkLWF0dHJpYnV0ZScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmUgI3ByaW1pdGl2ZSAqYXJncz1cIltidWZmZXJBdHRyaWJ1dGVdXCIgW2F0dGFjaF09XCJbJ2F0dHJpYnV0ZXMnLCBuYW1lKCldXCIgW3BhcmFtZXRlcnNdPVwib3B0aW9ucygpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXByaW1pdGl2ZT5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxufSlcbi8qKlxuICogVXNlZCBleGNsdXNpdmVseSBhcyBhIGNoaWxkIG9mIGEgQnVmZmVyR2VvbWV0cnkuXG4gKiBDb21wdXRlcyB0aGUgQnVmZmVyQXR0cmlidXRlIGJ5IGNhbGxpbmcgdGhlIGBjb21wdXRlYCBmdW5jdGlvblxuICogYW5kIGF0dGFjaGVzIHRoZSBhdHRyaWJ1dGUgdG8gdGhlIGdlb21ldHJ5LlxuICovXG5leHBvcnQgY2xhc3MgTmd0c0NvbXB1dGVkQXR0cmlidXRlIHtcblx0Y29tcHV0ZSA9IGlucHV0LnJlcXVpcmVkPChnZW9tZXRyeTogQnVmZmVyR2VvbWV0cnkpID0+IEJ1ZmZlckF0dHJpYnV0ZT4oKTtcblx0bmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIFBhcnRpYWw8Tmd0QnVmZmVyQXR0cmlidXRlPik7XG5cblx0YnVmZmVyQXR0cmlidXRlID0gbmV3IEJ1ZmZlckF0dHJpYnV0ZShuZXcgRmxvYXQzMkFycmF5KDApLCAxKTtcblx0cHJpbWl0aXZlID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8QnVmZmVyQXR0cmlidXRlPj4oJ3ByaW1pdGl2ZScpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGF1dG9FZmZlY3QgPSBpbmplY3RBdXRvRWZmZWN0KCk7XG5cblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0YXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHByaW1pdGl2ZSA9IHRoaXMucHJpbWl0aXZlKCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdGlmICghcHJpbWl0aXZlKSByZXR1cm47XG5cblx0XHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUocHJpbWl0aXZlKTtcblx0XHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm47XG5cblx0XHRcdFx0Y29uc3QgZ2VvbWV0cnkgPSAoKHByaW1pdGl2ZSBhcyBhbnkpLnBhcmVudCBhcyBCdWZmZXJHZW9tZXRyeSkgPz8gbG9jYWxTdGF0ZS5wYXJlbnQoKTtcblx0XHRcdFx0Y29uc29sZS5sb2coZ2VvbWV0cnkpO1xuXG5cdFx0XHRcdGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMuY29tcHV0ZSgpKGdlb21ldHJ5KTtcblx0XHRcdFx0cHJpbWl0aXZlLmNvcHkoYXR0cmlidXRlKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { REVISION } from 'three';
|
|
2
|
+
export function getVersion() {
|
|
3
|
+
return parseInt(REVISION.replace(/\D+/g, ''));
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqQyxNQUFNLFVBQVUsVUFBVTtJQUN6QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSRVZJU0lPTiB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNpb24oKSB7XG5cdHJldHVybiBwYXJzZUludChSRVZJU0lPTi5yZXBsYWNlKC9cXEQrL2csICcnKSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { afterNextRender, ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, input, viewChild, } from '@angular/core';
|
|
2
|
+
import { applyProps, extend, getLocalState, omit, pick, resolveRef } from 'angular-three';
|
|
3
|
+
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
4
|
+
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
|
+
import { AxesHelper, BoxGeometry, Euler, Mesh, MeshNormalMaterial, Object3D, Vector3 } from 'three';
|
|
6
|
+
import { DecalGeometry } from 'three-stdlib';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
const defaultOptions = {
|
|
9
|
+
polygonOffsetFactor: -10,
|
|
10
|
+
debug: false,
|
|
11
|
+
depthTest: false,
|
|
12
|
+
};
|
|
13
|
+
export class NgtsDecal {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.mesh = input();
|
|
16
|
+
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
17
|
+
this.parameters = omit(this.options, [
|
|
18
|
+
'debug',
|
|
19
|
+
'map',
|
|
20
|
+
'depthTest',
|
|
21
|
+
'polygonOffsetFactor',
|
|
22
|
+
'position',
|
|
23
|
+
'scale',
|
|
24
|
+
'rotation',
|
|
25
|
+
]);
|
|
26
|
+
this.meshRef = viewChild.required('mesh');
|
|
27
|
+
this.helperRef = viewChild('helper');
|
|
28
|
+
this.map = pick(this.options, 'map');
|
|
29
|
+
this.depthTest = pick(this.options, 'depthTest');
|
|
30
|
+
this.polygonOffsetFactor = pick(this.options, 'polygonOffsetFactor');
|
|
31
|
+
this.debug = pick(this.options, 'debug');
|
|
32
|
+
this.position = pick(this.options, 'position');
|
|
33
|
+
this.rotation = pick(this.options, 'rotation');
|
|
34
|
+
this.scale = pick(this.options, 'scale');
|
|
35
|
+
extend({ Mesh, BoxGeometry, MeshNormalMaterial, AxesHelper });
|
|
36
|
+
const autoEffect = injectAutoEffect();
|
|
37
|
+
afterNextRender(() => {
|
|
38
|
+
autoEffect(() => {
|
|
39
|
+
const thisMesh = this.meshRef().nativeElement;
|
|
40
|
+
const localState = getLocalState(thisMesh);
|
|
41
|
+
if (!localState)
|
|
42
|
+
return;
|
|
43
|
+
const mesh = resolveRef(this.mesh());
|
|
44
|
+
const parent = mesh || localState.parent();
|
|
45
|
+
if (parent && !parent.isMesh) {
|
|
46
|
+
throw new Error('<ngts-decal> must have a Mesh as parent or specify its "mesh" input');
|
|
47
|
+
}
|
|
48
|
+
if (!parent)
|
|
49
|
+
return;
|
|
50
|
+
const [position, rotation, scale] = [this.position(), this.rotation(), this.scale()];
|
|
51
|
+
const state = {
|
|
52
|
+
position: new Vector3(),
|
|
53
|
+
rotation: new Euler(),
|
|
54
|
+
scale: new Vector3(1, 1, 1),
|
|
55
|
+
};
|
|
56
|
+
applyProps(state, { position, scale });
|
|
57
|
+
// zero out the parents matrix world for this operation
|
|
58
|
+
const matrixWorld = parent.matrixWorld.clone();
|
|
59
|
+
parent.matrixWorld.identity();
|
|
60
|
+
if (!rotation || typeof rotation === 'number') {
|
|
61
|
+
const o = new Object3D();
|
|
62
|
+
o.position.copy(state.position);
|
|
63
|
+
o.lookAt(parent.position);
|
|
64
|
+
if (typeof rotation === 'number')
|
|
65
|
+
o.rotateZ(rotation);
|
|
66
|
+
applyProps(state, { rotation: o.rotation });
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
applyProps(state, { rotation });
|
|
70
|
+
}
|
|
71
|
+
thisMesh.geometry = new DecalGeometry(parent, state.position, state.rotation, state.scale);
|
|
72
|
+
const helper = this.helperRef()?.nativeElement;
|
|
73
|
+
if (helper) {
|
|
74
|
+
applyProps(helper, state);
|
|
75
|
+
// Prevent the helpers from blocking rays
|
|
76
|
+
helper.traverse((child) => (child.raycast = () => null));
|
|
77
|
+
}
|
|
78
|
+
// Reset parents matrix-world
|
|
79
|
+
parent.matrixWorld = matrixWorld;
|
|
80
|
+
return () => {
|
|
81
|
+
thisMesh.geometry.dispose();
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsDecal, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NgtsDecal, isStandalone: true, selector: "ngts-decal", inputs: { mesh: { classPropertyName: "mesh", publicName: "mesh", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }, { propertyName: "helperRef", first: true, predicate: ["helper"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
88
|
+
<ngt-mesh #mesh [parameters]="parameters()">
|
|
89
|
+
<ng-content />
|
|
90
|
+
|
|
91
|
+
@if (debug()) {
|
|
92
|
+
<ngt-mesh #helper>
|
|
93
|
+
<ngt-box-geometry />
|
|
94
|
+
<ngt-mesh-normal-material [wireframe]="true" />
|
|
95
|
+
<ngt-axes-helper />
|
|
96
|
+
</ngt-mesh>
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
<ngt-value [rawValue]="true" attach="material.transparent" />
|
|
100
|
+
<ngt-value [rawValue]="true" attach="material.polygonOffset" />
|
|
101
|
+
<ngt-value [rawValue]="polygonOffsetFactor()" attach="material.polygonOffsetFactor" />
|
|
102
|
+
<ngt-value [rawValue]="depthTest()" attach="material.depthTest" />
|
|
103
|
+
<ngt-value [rawValue]="map()" attach="material.map" />
|
|
104
|
+
</ngt-mesh>
|
|
105
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
106
|
+
}
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsDecal, decorators: [{
|
|
108
|
+
type: Component,
|
|
109
|
+
args: [{
|
|
110
|
+
selector: 'ngts-decal',
|
|
111
|
+
standalone: true,
|
|
112
|
+
template: `
|
|
113
|
+
<ngt-mesh #mesh [parameters]="parameters()">
|
|
114
|
+
<ng-content />
|
|
115
|
+
|
|
116
|
+
@if (debug()) {
|
|
117
|
+
<ngt-mesh #helper>
|
|
118
|
+
<ngt-box-geometry />
|
|
119
|
+
<ngt-mesh-normal-material [wireframe]="true" />
|
|
120
|
+
<ngt-axes-helper />
|
|
121
|
+
</ngt-mesh>
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
<ngt-value [rawValue]="true" attach="material.transparent" />
|
|
125
|
+
<ngt-value [rawValue]="true" attach="material.polygonOffset" />
|
|
126
|
+
<ngt-value [rawValue]="polygonOffsetFactor()" attach="material.polygonOffsetFactor" />
|
|
127
|
+
<ngt-value [rawValue]="depthTest()" attach="material.depthTest" />
|
|
128
|
+
<ngt-value [rawValue]="map()" attach="material.map" />
|
|
129
|
+
</ngt-mesh>
|
|
130
|
+
`,
|
|
131
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
132
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
133
|
+
}]
|
|
134
|
+
}], ctorParameters: () => [] });
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWlzYy9zcmMvbGliL2RlY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFFdEIsS0FBSyxFQUNMLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQVcsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFXLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM3RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVM3QyxNQUFNLGNBQWMsR0FBcUI7SUFDeEMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFO0lBQ3hCLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQTJCRixNQUFNLE9BQU8sU0FBUztJQXdCckI7UUF2QkEsU0FBSSxHQUFHLEtBQUssRUFBa0MsQ0FBQztRQUMvQyxZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixPQUFPO1lBQ1AsS0FBSztZQUNMLFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsVUFB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QUN0QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrQlQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0RWxlbWVudFJlZixcblx0aW5wdXQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhcHBseVByb3BzLCBleHRlbmQsIGdldExvY2FsU3RhdGUsIE5ndE1lc2gsIG9taXQsIHBpY2ssIHJlc29sdmVSZWYgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IEF4ZXNIZWxwZXIsIEJveEdlb21ldHJ5LCBFdWxlciwgTWVzaCwgTWVzaE5vcm1hbE1hdGVyaWFsLCBPYmplY3QzRCwgVGV4dHVyZSwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IERlY2FsR2VvbWV0cnkgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNEZWNhbE9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE5ndE1lc2g+IHtcblx0cG9seWdvbk9mZnNldEZhY3RvcjogbnVtYmVyO1xuXHRkZXB0aFRlc3Q6IGJvb2xlYW47XG5cdGRlYnVnOiBib29sZWFuO1xuXHRtYXA/OiBUZXh0dXJlO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0c0RlY2FsT3B0aW9ucyA9IHtcblx0cG9seWdvbk9mZnNldEZhY3RvcjogLTEwLFxuXHRkZWJ1ZzogZmFsc2UsXG5cdGRlcHRoVGVzdDogZmFsc2UsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWRlY2FsJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LW1lc2ggI21lc2ggW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXG5cdFx0XHRAaWYgKGRlYnVnKCkpIHtcblx0XHRcdFx0PG5ndC1tZXNoICNoZWxwZXI+XG5cdFx0XHRcdFx0PG5ndC1ib3gtZ2VvbWV0cnkgLz5cblx0XHRcdFx0XHQ8bmd0LW1lc2gtbm9ybWFsLW1hdGVyaWFsIFt3aXJlZnJhbWVdPVwidHJ1ZVwiIC8+XG5cdFx0XHRcdFx0PG5ndC1heGVzLWhlbHBlciAvPlxuXHRcdFx0XHQ8L25ndC1tZXNoPlxuXHRcdFx0fVxuXG5cdFx0XHQ8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJ0cnVlXCIgYXR0YWNoPVwibWF0ZXJpYWwudHJhbnNwYXJlbnRcIiAvPlxuXHRcdFx0PG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwidHJ1ZVwiIGF0dGFjaD1cIm1hdGVyaWFsLnBvbHlnb25PZmZzZXRcIiAvPlxuXHRcdFx0PG5ndC12YWx1ZSBbcmF3VmFsdWVdPVwicG9seWdvbk9mZnNldEZhY3RvcigpXCIgYXR0YWNoPVwibWF0ZXJpYWwucG9seWdvbk9mZnNldEZhY3RvclwiIC8+XG5cdFx0XHQ8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJkZXB0aFRlc3QoKVwiIGF0dGFjaD1cIm1hdGVyaWFsLmRlcHRoVGVzdFwiIC8+XG5cdFx0XHQ8bmd0LXZhbHVlIFtyYXdWYWx1ZV09XCJtYXAoKVwiIGF0dGFjaD1cIm1hdGVyaWFsLm1hcFwiIC8+XG5cdFx0PC9uZ3QtbWVzaD5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0RlY2FsIHtcblx0bWVzaCA9IGlucHV0PEVsZW1lbnRSZWY8TWVzaD4gfCBNZXNoIHwgbnVsbD4oKTtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXHRwYXJhbWV0ZXJzID0gb21pdCh0aGlzLm9wdGlvbnMsIFtcblx0XHQnZGVidWcnLFxuXHRcdCdtYXAnLFxuXHRcdCdkZXB0aFRlc3QnLFxuXHRcdCdwb2x5Z29uT2Zmc2V0RmFjdG9yJyxcblx0XHQncG9zaXRpb24nLFxuXHRcdCdzY2FsZScsXG5cdFx0J3JvdGF0aW9uJyxcblx0XSk7XG5cblx0bWVzaFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPE1lc2g+PignbWVzaCcpO1xuXHRoZWxwZXJSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxNZXNoPj4oJ2hlbHBlcicpO1xuXG5cdG1hcCA9IHBpY2sodGhpcy5vcHRpb25zLCAnbWFwJyk7XG5cdGRlcHRoVGVzdCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGVwdGhUZXN0Jyk7XG5cdHBvbHlnb25PZmZzZXRGYWN0b3IgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3BvbHlnb25PZmZzZXRGYWN0b3InKTtcblx0ZGVidWcgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlYnVnJyk7XG5cdHByaXZhdGUgcG9zaXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Bvc2l0aW9uJyk7XG5cdHByaXZhdGUgcm90YXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3JvdGF0aW9uJyk7XG5cdHByaXZhdGUgc2NhbGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3NjYWxlJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgTWVzaCwgQm94R2VvbWV0cnksIE1lc2hOb3JtYWxNYXRlcmlhbCwgQXhlc0hlbHBlciB9KTtcblx0XHRjb25zdCBhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdGF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB0aGlzTWVzaCA9IHRoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKHRoaXNNZXNoKTtcblx0XHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm47XG5cblx0XHRcdFx0Y29uc3QgbWVzaCA9IHJlc29sdmVSZWYodGhpcy5tZXNoKCkpO1xuXHRcdFx0XHRjb25zdCBwYXJlbnQgPSBtZXNoIHx8IGxvY2FsU3RhdGUucGFyZW50KCk7XG5cblx0XHRcdFx0aWYgKHBhcmVudCAmJiAhKHBhcmVudCBhcyBNZXNoKS5pc01lc2gpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJzxuZ3RzLWRlY2FsPiBtdXN0IGhhdmUgYSBNZXNoIGFzIHBhcmVudCBvciBzcGVjaWZ5IGl0cyBcIm1lc2hcIiBpbnB1dCcpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKCFwYXJlbnQpIHJldHVybjtcblxuXHRcdFx0XHRjb25zdCBbcG9zaXRpb24sIHJvdGF0aW9uLCBzY2FsZV0gPSBbdGhpcy5wb3NpdGlvbigpLCB0aGlzLnJvdGF0aW9uKCksIHRoaXMuc2NhbGUoKV07XG5cdFx0XHRcdGNvbnN0IHN0YXRlID0ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBuZXcgVmVjdG9yMygpLFxuXHRcdFx0XHRcdHJvdGF0aW9uOiBuZXcgRXVsZXIoKSxcblx0XHRcdFx0XHRzY2FsZTogbmV3IFZlY3RvcjMoMSwgMSwgMSksXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0YXBwbHlQcm9wcyhzdGF0ZSwgeyBwb3NpdGlvbiwgc2NhbGUgfSk7XG5cblx0XHRcdFx0Ly8gemVybyBvdXQgdGhlIHBhcmVudHMgbWF0cml4IHdvcmxkIGZvciB0aGlzIG9wZXJhdGlvblxuXHRcdFx0XHRjb25zdCBtYXRyaXhXb3JsZCA9IHBhcmVudC5tYXRyaXhXb3JsZC5jbG9uZSgpO1xuXHRcdFx0XHRwYXJlbnQubWF0cml4V29ybGQuaWRlbnRpdHkoKTtcblxuXHRcdFx0XHRpZiAoIXJvdGF0aW9uIHx8IHR5cGVvZiByb3RhdGlvbiA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0XHRjb25zdCBvID0gbmV3IE9iamVjdDNEKCk7XG5cdFx0XHRcdFx0by5wb3NpdGlvbi5jb3B5KHN0YXRlLnBvc2l0aW9uKTtcblx0XHRcdFx0XHRvLmxvb2tBdChwYXJlbnQucG9zaXRpb24pO1xuXHRcdFx0XHRcdGlmICh0eXBlb2Ygcm90YXRpb24gPT09ICdudW1iZXInKSBvLnJvdGF0ZVoocm90YXRpb24pO1xuXHRcdFx0XHRcdGFwcGx5UHJvcHMoc3RhdGUsIHsgcm90YXRpb246IG8ucm90YXRpb24gfSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0YXBwbHlQcm9wcyhzdGF0ZSwgeyByb3RhdGlvbiB9KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXNNZXNoLmdlb21ldHJ5ID0gbmV3IERlY2FsR2VvbWV0cnkocGFyZW50LCBzdGF0ZS5wb3NpdGlvbiwgc3RhdGUucm90YXRpb24sIHN0YXRlLnNjYWxlKTtcblx0XHRcdFx0Y29uc3QgaGVscGVyID0gdGhpcy5oZWxwZXJSZWYoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRcdFx0aWYgKGhlbHBlcikge1xuXHRcdFx0XHRcdGFwcGx5UHJvcHMoaGVscGVyLCBzdGF0ZSk7XG5cdFx0XHRcdFx0Ly8gUHJldmVudCB0aGUgaGVscGVycyBmcm9tIGJsb2NraW5nIHJheXNcblx0XHRcdFx0XHRoZWxwZXIudHJhdmVyc2UoKGNoaWxkKSA9PiAoY2hpbGQucmF5Y2FzdCA9ICgpID0+IG51bGwpKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFJlc2V0IHBhcmVudHMgbWF0cml4LXdvcmxkXG5cdFx0XHRcdHBhcmVudC5tYXRyaXhXb3JsZCA9IG1hdHJpeFdvcmxkO1xuXG5cdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0dGhpc01lc2guZ2VvbWV0cnkuZGlzcG9zZSgpO1xuXHRcdFx0XHR9O1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NOTE: Sets `BufferAttribute.updateRange` since r159.
|
|
3
|
+
*/
|
|
4
|
+
export const setUpdateRange = (attribute, updateRange) => {
|
|
5
|
+
if ('updateRanges' in attribute) {
|
|
6
|
+
// @ts-expect-error - r159
|
|
7
|
+
attribute.updateRanges[0] = updateRange;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
Object.assign(attribute, { updateRange });
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export const LinearEncoding = 3000;
|
|
14
|
+
export const sRGBEncoding = 3001;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9saWIvZGVwcmVjYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQTBCLEVBQUUsV0FBOEMsRUFBUSxFQUFFO0lBQ2xILElBQUksY0FBYyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLDBCQUEwQjtRQUMxQixTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUN6QyxDQUFDO1NBQU0sQ0FBQztRQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVmZmVyQXR0cmlidXRlIH0gZnJvbSAndGhyZWUnO1xuXG4vKipcbiAqIE5PVEU6IFNldHMgYEJ1ZmZlckF0dHJpYnV0ZS51cGRhdGVSYW5nZWAgc2luY2UgcjE1OS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldFVwZGF0ZVJhbmdlID0gKGF0dHJpYnV0ZTogQnVmZmVyQXR0cmlidXRlLCB1cGRhdGVSYW5nZTogeyBvZmZzZXQ6IG51bWJlcjsgY291bnQ6IG51bWJlciB9KTogdm9pZCA9PiB7XG5cdGlmICgndXBkYXRlUmFuZ2VzJyBpbiBhdHRyaWJ1dGUpIHtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gcjE1OVxuXHRcdGF0dHJpYnV0ZS51cGRhdGVSYW5nZXNbMF0gPSB1cGRhdGVSYW5nZTtcblx0fSBlbHNlIHtcblx0XHRPYmplY3QuYXNzaWduKGF0dHJpYnV0ZSwgeyB1cGRhdGVSYW5nZSB9KTtcblx0fVxufTtcblxuZXhwb3J0IGNvbnN0IExpbmVhckVuY29kaW5nID0gMzAwMDtcbmV4cG9ydCBjb25zdCBzUkdCRW5jb2RpbmcgPSAzMDAxO1xuXG4vKipcbiAqIE5PVEU6IFRleHR1cmVFbmNvZGluZyB3YXMgZGVwcmVjYXRlZCBpbiByMTUyLCBhbmQgcmVtb3ZlZCBpbiByMTYyLlxuICovXG5leHBvcnQgdHlwZSBUZXh0dXJlRW5jb2RpbmcgPSB0eXBlb2YgTGluZWFyRW5jb2RpbmcgfCB0eXBlb2Ygc1JHQkVuY29kaW5nO1xuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { computed } from '@angular/core';
|
|
2
|
+
import { injectBeforeRender, injectStore, pick } from 'angular-three';
|
|
3
|
+
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
+
import { DepthFormat, DepthTexture, UnsignedShortType } from 'three';
|
|
5
|
+
import { injectFBO } from './fbo';
|
|
6
|
+
export function injectDepthBuffer(params = () => ({}), { injector } = {}) {
|
|
7
|
+
return assertInjector(injectDepthBuffer, injector, () => {
|
|
8
|
+
const size = computed(() => params().size || 256);
|
|
9
|
+
const frames = computed(() => params().frames || Infinity);
|
|
10
|
+
const store = injectStore();
|
|
11
|
+
const width = store.select('size', 'width');
|
|
12
|
+
const height = store.select('size', 'height');
|
|
13
|
+
const dpr = store.select('viewport', 'dpr');
|
|
14
|
+
const w = computed(() => size() || width() * dpr());
|
|
15
|
+
const h = computed(() => size() || height() * dpr());
|
|
16
|
+
const depthConfig = computed(() => {
|
|
17
|
+
const depthTexture = new DepthTexture(w(), h());
|
|
18
|
+
depthTexture.format = DepthFormat;
|
|
19
|
+
depthTexture.type = UnsignedShortType;
|
|
20
|
+
return { depthTexture };
|
|
21
|
+
});
|
|
22
|
+
const depthFBO = injectFBO(() => ({
|
|
23
|
+
width: w(),
|
|
24
|
+
height: h(),
|
|
25
|
+
settings: depthConfig(),
|
|
26
|
+
}));
|
|
27
|
+
let count = 0;
|
|
28
|
+
injectBeforeRender(({ gl, scene, camera }) => {
|
|
29
|
+
if (frames() === Infinity || count < frames()) {
|
|
30
|
+
gl.setRenderTarget(depthFBO());
|
|
31
|
+
gl.render(scene, camera);
|
|
32
|
+
gl.setRenderTarget(null);
|
|
33
|
+
count++;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return pick(depthFBO, 'depthTexture');
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwdGgtYnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9kZXB0aC1idWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVsQyxNQUFNLFVBQVUsaUJBQWlCLENBQ2hDLFNBQW1ELEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQzdELEVBQUUsUUFBUSxLQUE4QixFQUFFO0lBRTFDLE9BQU8sY0FBYyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDdkQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBRTNELE1BQU0sS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXJELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoRCxZQUFZLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUNsQyxZQUFZLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1lBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLEtBQUssRUFBRSxDQUFDLEVBQUU7WUFDVixNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQ1gsUUFBUSxFQUFFLFdBQVcsRUFBRTtTQUN2QixDQUFDLENBQUMsQ0FBQztRQUVKLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLGtCQUFrQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxNQUFNLEVBQUUsS0FBSyxRQUFRLElBQUksS0FBSyxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQy9DLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDL0IsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3pCLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxDQUFDO1lBQ1QsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5pbXBvcnQgeyBEZXB0aEZvcm1hdCwgRGVwdGhUZXh0dXJlLCBVbnNpZ25lZFNob3J0VHlwZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGluamVjdEZCTyB9IGZyb20gJy4vZmJvJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdERlcHRoQnVmZmVyKFxuXHRwYXJhbXM6ICgpID0+IHsgc2l6ZT86IG51bWJlcjsgZnJhbWVzPzogbnVtYmVyIH0gPSAoKSA9PiAoe30pLFxuXHR7IGluamVjdG9yIH06IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30sXG4pIHtcblx0cmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdERlcHRoQnVmZmVyLCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHNpemUgPSBjb21wdXRlZCgoKSA9PiBwYXJhbXMoKS5zaXplIHx8IDI1Nik7XG5cdFx0Y29uc3QgZnJhbWVzID0gY29tcHV0ZWQoKCkgPT4gcGFyYW1zKCkuZnJhbWVzIHx8IEluZmluaXR5KTtcblxuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0XHRjb25zdCB3aWR0aCA9IHN0b3JlLnNlbGVjdCgnc2l6ZScsICd3aWR0aCcpO1xuXHRcdGNvbnN0IGhlaWdodCA9IHN0b3JlLnNlbGVjdCgnc2l6ZScsICdoZWlnaHQnKTtcblx0XHRjb25zdCBkcHIgPSBzdG9yZS5zZWxlY3QoJ3ZpZXdwb3J0JywgJ2RwcicpO1xuXG5cdFx0Y29uc3QgdyA9IGNvbXB1dGVkKCgpID0+IHNpemUoKSB8fCB3aWR0aCgpICogZHByKCkpO1xuXHRcdGNvbnN0IGggPSBjb21wdXRlZCgoKSA9PiBzaXplKCkgfHwgaGVpZ2h0KCkgKiBkcHIoKSk7XG5cblx0XHRjb25zdCBkZXB0aENvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IGRlcHRoVGV4dHVyZSA9IG5ldyBEZXB0aFRleHR1cmUodygpLCBoKCkpO1xuXHRcdFx0ZGVwdGhUZXh0dXJlLmZvcm1hdCA9IERlcHRoRm9ybWF0O1xuXHRcdFx0ZGVwdGhUZXh0dXJlLnR5cGUgPSBVbnNpZ25lZFNob3J0VHlwZTtcblx0XHRcdHJldHVybiB7IGRlcHRoVGV4dHVyZSB9O1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgZGVwdGhGQk8gPSBpbmplY3RGQk8oKCkgPT4gKHtcblx0XHRcdHdpZHRoOiB3KCksXG5cdFx0XHRoZWlnaHQ6IGgoKSxcblx0XHRcdHNldHRpbmdzOiBkZXB0aENvbmZpZygpLFxuXHRcdH0pKTtcblxuXHRcdGxldCBjb3VudCA9IDA7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGdsLCBzY2VuZSwgY2FtZXJhIH0pID0+IHtcblx0XHRcdGlmIChmcmFtZXMoKSA9PT0gSW5maW5pdHkgfHwgY291bnQgPCBmcmFtZXMoKSkge1xuXHRcdFx0XHRnbC5zZXRSZW5kZXJUYXJnZXQoZGVwdGhGQk8oKSk7XG5cdFx0XHRcdGdsLnJlbmRlcihzY2VuZSwgY2FtZXJhKTtcblx0XHRcdFx0Z2wuc2V0UmVuZGVyVGFyZ2V0KG51bGwpO1xuXHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHBpY2soZGVwdGhGQk8sICdkZXB0aFRleHR1cmUnKTtcblx0fSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { DestroyRef, Directive, TemplateRef, ViewContainerRef, afterNextRender, computed, inject, input, untracked, } from '@angular/core';
|
|
2
|
+
import { injectStore } from 'angular-three';
|
|
3
|
+
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
+
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
5
|
+
import { DepthTexture, FloatType, HalfFloatType, LinearFilter, WebGLRenderTarget, } from 'three';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export function injectFBO(params, { injector } = {}) {
|
|
8
|
+
return assertInjector(injectFBO, injector, () => {
|
|
9
|
+
const autoEffect = injectAutoEffect();
|
|
10
|
+
const store = injectStore();
|
|
11
|
+
const size = store.select('size');
|
|
12
|
+
const viewport = store.select('viewport');
|
|
13
|
+
const width = computed(() => {
|
|
14
|
+
const { width } = params();
|
|
15
|
+
return typeof width === 'number' ? width : size().width * viewport().dpr;
|
|
16
|
+
});
|
|
17
|
+
const height = computed(() => {
|
|
18
|
+
const { height } = params();
|
|
19
|
+
return typeof height === 'number' ? height : size().height * viewport().dpr;
|
|
20
|
+
});
|
|
21
|
+
const settings = computed(() => {
|
|
22
|
+
const { width, settings } = params();
|
|
23
|
+
const _settings = (typeof width === 'number' ? settings : width) || {};
|
|
24
|
+
if (_settings.samples === undefined) {
|
|
25
|
+
_settings.samples = 0;
|
|
26
|
+
}
|
|
27
|
+
return _settings;
|
|
28
|
+
});
|
|
29
|
+
const target = computed(() => {
|
|
30
|
+
const [{ samples = 0, depth, ...targetSettings }, _width, _height] = [
|
|
31
|
+
untracked(settings),
|
|
32
|
+
untracked(width),
|
|
33
|
+
untracked(height),
|
|
34
|
+
];
|
|
35
|
+
const target = new WebGLRenderTarget(_width, _height, {
|
|
36
|
+
minFilter: LinearFilter,
|
|
37
|
+
magFilter: LinearFilter,
|
|
38
|
+
type: HalfFloatType,
|
|
39
|
+
...targetSettings,
|
|
40
|
+
});
|
|
41
|
+
if (depth) {
|
|
42
|
+
target.depthTexture = new DepthTexture(_width, _height, FloatType);
|
|
43
|
+
}
|
|
44
|
+
target.samples = samples;
|
|
45
|
+
return target;
|
|
46
|
+
});
|
|
47
|
+
afterNextRender(() => {
|
|
48
|
+
autoEffect(() => {
|
|
49
|
+
const [{ samples = 0 }, _width, _height, _target] = [settings(), width(), height(), target()];
|
|
50
|
+
_target.setSize(_width, _height);
|
|
51
|
+
if (samples)
|
|
52
|
+
_target.samples = samples;
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
inject(DestroyRef).onDestroy(() => target().dispose());
|
|
56
|
+
return target;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export class NgtsFBO {
|
|
60
|
+
constructor() {
|
|
61
|
+
this.fbo = input({});
|
|
62
|
+
this.template = inject(TemplateRef);
|
|
63
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
64
|
+
this.fboTarget = injectFBO(() => {
|
|
65
|
+
const { width, height, ...settings } = this.fbo();
|
|
66
|
+
return { width, height, settings };
|
|
67
|
+
});
|
|
68
|
+
let ref;
|
|
69
|
+
afterNextRender(() => {
|
|
70
|
+
untracked(() => {
|
|
71
|
+
ref = this.viewContainerRef.createEmbeddedView(this.template, { $implicit: this.fboTarget });
|
|
72
|
+
ref.detectChanges();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
inject(DestroyRef).onDestroy(() => {
|
|
76
|
+
ref?.destroy();
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
static ngTemplateContextGuard(_, ctx) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsFBO, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
83
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: NgtsFBO, isStandalone: true, selector: "ng-template[fbo]", inputs: { fbo: { classPropertyName: "fbo", publicName: "fbo", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
84
|
+
}
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsFBO, decorators: [{
|
|
86
|
+
type: Directive,
|
|
87
|
+
args: [{ selector: 'ng-template[fbo]', standalone: true }]
|
|
88
|
+
}], ctorParameters: () => [] });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL21pc2Mvc3JjL2xpYi9mYm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFVBQVUsRUFDVixTQUFTLEVBR1QsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFFTixZQUFZLEVBQ1osU0FBUyxFQUNULGFBQWEsRUFDYixZQUFZLEVBSVosaUJBQWlCLEdBRWpCLE1BQU0sT0FBTyxDQUFDOztBQStCZixNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQTJCLEVBQUUsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFDaEcsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDL0MsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFMUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFHLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDN0UsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDckMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUUsS0FBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RixJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3JDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUc7Z0JBQ3BFLFNBQVMsQ0FBQyxRQUFRLENBQUM7Z0JBQ25CLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hCLFNBQVMsQ0FBQyxNQUFNLENBQUM7YUFDakIsQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtnQkFDckQsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsR0FBRyxjQUFjO2FBQ2pCLENBQUMsQ0FBQztZQUVILElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBRUgsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNmLE1BQU0sQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDOUYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksT0FBTztvQkFBRSxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXZELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBR0QsTUFBTSxPQUFPLE9BQU87SUFXbkI7UUFWQSxRQUFHLEdBQUcsS0FBSyxDQUFDLEVBQXNGLENBQUMsQ0FBQztRQUVwRyxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVDLGNBQVMsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFCLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBR0YsSUFBSSxHQUFpRSxDQUFDO1FBQ3RFLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDcEIsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQzdGLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFVLEVBQUUsR0FBWTtRQUNyRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7OEdBM0JXLE9BQU87a0dBQVAsT0FBTzs7MkZBQVAsT0FBTztrQkFEbkIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0RGVzdHJveVJlZixcblx0RGlyZWN0aXZlLFxuXHRFbWJlZGRlZFZpZXdSZWYsXG5cdEluamVjdG9yLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NvbnRhaW5lclJlZixcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRjb21wdXRlZCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7XG5cdENvbG9yU3BhY2UsXG5cdERlcHRoVGV4dHVyZSxcblx0RmxvYXRUeXBlLFxuXHRIYWxmRmxvYXRUeXBlLFxuXHRMaW5lYXJGaWx0ZXIsXG5cdE1hZ25pZmljYXRpb25UZXh0dXJlRmlsdGVyLFxuXHRNaW5pZmljYXRpb25UZXh0dXJlRmlsdGVyLFxuXHRUZXh0dXJlRGF0YVR5cGUsXG5cdFdlYkdMUmVuZGVyVGFyZ2V0LFxuXHRXcmFwcGluZyxcbn0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgVGV4dHVyZUVuY29kaW5nIH0gZnJvbSAnLi9kZXByZWNhdGVkJztcblxuaW50ZXJmYWNlIEZCT1NldHRpbmdzIHtcblx0LyoqIERlZmluZXMgdGhlIGNvdW50IG9mIE1TQUEgc2FtcGxlcy4gQ2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMIDIuIERlZmF1bHQ6IDAgKi9cblx0c2FtcGxlcz86IG51bWJlcjtcblx0LyoqIElmIHNldCwgdGhlIHNjZW5lIGRlcHRoIHdpbGwgYmUgcmVuZGVyZWQgaW50byBidWZmZXIuZGVwdGhUZXh0dXJlLiBEZWZhdWx0OiBmYWxzZSAqL1xuXHRkZXB0aD86IGJvb2xlYW47XG5cblx0Ly8gV2ViR0xSZW5kZXJUYXJnZXRPcHRpb25zID0+IFJlbmRlclRhcmdldE9wdGlvbnNcblx0d3JhcFM/OiBXcmFwcGluZyB8IHVuZGVmaW5lZDtcblx0d3JhcFQ/OiBXcmFwcGluZyB8IHVuZGVmaW5lZDtcblx0bWFnRmlsdGVyPzogTWFnbmlmaWNhdGlvblRleHR1cmVGaWx0ZXIgfCB1bmRlZmluZWQ7XG5cdG1pbkZpbHRlcj86IE1pbmlmaWNhdGlvblRleHR1cmVGaWx0ZXIgfCB1bmRlZmluZWQ7XG5cdGZvcm1hdD86IG51bWJlciB8IHVuZGVmaW5lZDsgLy8gUkdCQUZvcm1hdDtcblx0dHlwZT86IFRleHR1cmVEYXRhVHlwZSB8IHVuZGVmaW5lZDsgLy8gVW5zaWduZWRCeXRlVHlwZTtcblx0YW5pc290cm9weT86IG51bWJlciB8IHVuZGVmaW5lZDsgLy8gMTtcblx0ZGVwdGhCdWZmZXI/OiBib29sZWFuIHwgdW5kZWZpbmVkOyAvLyB0cnVlO1xuXHRzdGVuY2lsQnVmZmVyPzogYm9vbGVhbiB8IHVuZGVmaW5lZDsgLy8gZmFsc2U7XG5cdGdlbmVyYXRlTWlwbWFwcz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7IC8vIHRydWU7XG5cdGRlcHRoVGV4dHVyZT86IERlcHRoVGV4dHVyZSB8IHVuZGVmaW5lZDtcblx0ZW5jb2Rpbmc/OiBUZXh0dXJlRW5jb2RpbmcgfCB1bmRlZmluZWQ7XG5cdGNvbG9yU3BhY2U/OiBDb2xvclNwYWNlIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNGQk9QYXJhbXMge1xuXHR3aWR0aD86IG51bWJlciB8IEZCT1NldHRpbmdzO1xuXHRoZWlnaHQ/OiBudW1iZXI7XG5cdHNldHRpbmdzPzogRkJPU2V0dGluZ3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RGQk8ocGFyYW1zOiAoKSA9PiBOZ3RzRkJPUGFyYW1zLCB7IGluamVjdG9yIH06IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30pIHtcblx0cmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdEZCTywgaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblx0XHRjb25zdCBzaXplID0gc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cdFx0Y29uc3Qgdmlld3BvcnQgPSBzdG9yZS5zZWxlY3QoJ3ZpZXdwb3J0Jyk7XG5cblx0XHRjb25zdCB3aWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IHsgd2lkdGggfSA9IHBhcmFtcygpO1xuXHRcdFx0cmV0dXJuIHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgPyB3aWR0aCA6IHNpemUoKS53aWR0aCAqIHZpZXdwb3J0KCkuZHByO1xuXHRcdH0pO1xuXHRcdGNvbnN0IGhlaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IHsgaGVpZ2h0IH0gPSBwYXJhbXMoKTtcblx0XHRcdHJldHVybiB0eXBlb2YgaGVpZ2h0ID09PSAnbnVtYmVyJyA/IGhlaWdodCA6IHNpemUoKS5oZWlnaHQgKiB2aWV3cG9ydCgpLmRwcjtcblx0XHR9KTtcblx0XHRjb25zdCBzZXR0aW5ncyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IHsgd2lkdGgsIHNldHRpbmdzIH0gPSBwYXJhbXMoKTtcblx0XHRcdGNvbnN0IF9zZXR0aW5ncyA9ICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInID8gc2V0dGluZ3MgOiAod2lkdGggYXMgRkJPU2V0dGluZ3MpKSB8fCB7fTtcblx0XHRcdGlmIChfc2V0dGluZ3Muc2FtcGxlcyA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdF9zZXR0aW5ncy5zYW1wbGVzID0gMDtcblx0XHRcdH1cblx0XHRcdHJldHVybiBfc2V0dGluZ3M7XG5cdFx0fSk7XG5cblx0XHRjb25zdCB0YXJnZXQgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbeyBzYW1wbGVzID0gMCwgZGVwdGgsIC4uLnRhcmdldFNldHRpbmdzIH0sIF93aWR0aCwgX2hlaWdodF0gPSBbXG5cdFx0XHRcdHVudHJhY2tlZChzZXR0aW5ncyksXG5cdFx0XHRcdHVudHJhY2tlZCh3aWR0aCksXG5cdFx0XHRcdHVudHJhY2tlZChoZWlnaHQpLFxuXHRcdFx0XTtcblx0XHRcdGNvbnN0IHRhcmdldCA9IG5ldyBXZWJHTFJlbmRlclRhcmdldChfd2lkdGgsIF9oZWlnaHQsIHtcblx0XHRcdFx0bWluRmlsdGVyOiBMaW5lYXJGaWx0ZXIsXG5cdFx0XHRcdG1hZ0ZpbHRlcjogTGluZWFyRmlsdGVyLFxuXHRcdFx0XHR0eXBlOiBIYWxmRmxvYXRUeXBlLFxuXHRcdFx0XHQuLi50YXJnZXRTZXR0aW5ncyxcblx0XHRcdH0pO1xuXG5cdFx0XHRpZiAoZGVwdGgpIHtcblx0XHRcdFx0dGFyZ2V0LmRlcHRoVGV4dHVyZSA9IG5ldyBEZXB0aFRleHR1cmUoX3dpZHRoLCBfaGVpZ2h0LCBGbG9hdFR5cGUpO1xuXHRcdFx0fVxuXG5cdFx0XHR0YXJnZXQuc2FtcGxlcyA9IHNhbXBsZXM7XG5cdFx0XHRyZXR1cm4gdGFyZ2V0O1xuXHRcdH0pO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdGF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBbeyBzYW1wbGVzID0gMCB9LCBfd2lkdGgsIF9oZWlnaHQsIF90YXJnZXRdID0gW3NldHRpbmdzKCksIHdpZHRoKCksIGhlaWdodCgpLCB0YXJnZXQoKV07XG5cdFx0XHRcdF90YXJnZXQuc2V0U2l6ZShfd2lkdGgsIF9oZWlnaHQpO1xuXHRcdFx0XHRpZiAoc2FtcGxlcykgX3RhcmdldC5zYW1wbGVzID0gc2FtcGxlcztcblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0aW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB0YXJnZXQoKS5kaXNwb3NlKCkpO1xuXG5cdFx0cmV0dXJuIHRhcmdldDtcblx0fSk7XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2Zib10nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0c0ZCTyB7XG5cdGZibyA9IGlucHV0KHt9IGFzIHsgd2lkdGg6IE5ndHNGQk9QYXJhbXNbJ3dpZHRoJ107IGhlaWdodDogTmd0c0ZCT1BhcmFtc1snaGVpZ2h0J10gfSAmIEZCT1NldHRpbmdzKTtcblxuXHR0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZik7XG5cdHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cblx0ZmJvVGFyZ2V0ID0gaW5qZWN0RkJPKCgpID0+IHtcblx0XHRjb25zdCB7IHdpZHRoLCBoZWlnaHQsIC4uLnNldHRpbmdzIH0gPSB0aGlzLmZibygpO1xuXHRcdHJldHVybiB7IHdpZHRoLCBoZWlnaHQsIHNldHRpbmdzIH07XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGxldCByZWY6IEVtYmVkZGVkVmlld1JlZjx7ICRpbXBsaWNpdDogUmV0dXJuVHlwZTx0eXBlb2YgaW5qZWN0RkJPPiB9Pjtcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0cmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlLCB7ICRpbXBsaWNpdDogdGhpcy5mYm9UYXJnZXQgfSk7XG5cdFx0XHRcdHJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuXHRcdFx0cmVmPy5kZXN0cm95KCk7XG5cdFx0fSk7XG5cdH1cblxuXHRzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChfOiBOZ3RzRkJPLCBjdHg6IHVua25vd24pOiBjdHggaXMgeyAkaW1wbGljaXQ6IFJldHVyblR5cGU8dHlwZW9mIGluamVjdEZCTz4gfSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { afterNextRender, ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, input, signal, untracked, viewChild, } from '@angular/core';
|
|
2
|
+
import { checkUpdate, extend, getLocalState, omit, resolveRef } from 'angular-three';
|
|
3
|
+
import { assertInjector } from 'ngxtension/assert-injector';
|
|
4
|
+
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
5
|
+
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
6
|
+
import { Color, Group, InstancedBufferAttribute, Object3D, Vector3 } from 'three';
|
|
7
|
+
import { MeshSurfaceSampler } from 'three-stdlib';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export function injectSurfaceSampler(mesh, options = () => ({}), { injector } = {}) {
|
|
10
|
+
return assertInjector(injectSurfaceSampler, injector, () => {
|
|
11
|
+
const buffer = signal((() => {
|
|
12
|
+
const arr = Array.from({ length: options().count ?? 16 }, () => [
|
|
13
|
+
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
|
14
|
+
]).flat();
|
|
15
|
+
return new InstancedBufferAttribute(Float32Array.from(arr), 16);
|
|
16
|
+
})());
|
|
17
|
+
const autoEffect = injectAutoEffect();
|
|
18
|
+
afterNextRender(() => {
|
|
19
|
+
autoEffect(() => {
|
|
20
|
+
const currentMesh = resolveRef(mesh());
|
|
21
|
+
if (!currentMesh)
|
|
22
|
+
return;
|
|
23
|
+
const localState = getLocalState(currentMesh);
|
|
24
|
+
if (!localState)
|
|
25
|
+
return;
|
|
26
|
+
const nonObjects = localState.nonObjects();
|
|
27
|
+
if (!nonObjects ||
|
|
28
|
+
!nonObjects.length ||
|
|
29
|
+
nonObjects.every((nonObject) => !nonObject.isBufferGeometry)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const sampler = new MeshSurfaceSampler(currentMesh);
|
|
33
|
+
const { weight, count = 16, transform, instanceMesh } = options();
|
|
34
|
+
if (weight) {
|
|
35
|
+
sampler.setWeightAttribute(weight);
|
|
36
|
+
}
|
|
37
|
+
sampler.build();
|
|
38
|
+
const position = new Vector3();
|
|
39
|
+
const normal = new Vector3();
|
|
40
|
+
const color = new Color();
|
|
41
|
+
const dummy = new Object3D();
|
|
42
|
+
const instance = resolveRef(instanceMesh);
|
|
43
|
+
currentMesh.updateMatrixWorld(true);
|
|
44
|
+
for (let i = 0; i < count; i++) {
|
|
45
|
+
sampler.sample(position, normal, color);
|
|
46
|
+
if (typeof transform === 'function') {
|
|
47
|
+
transform({ dummy, sampledMesh: currentMesh, position, normal, color }, i);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
dummy.position.copy(position);
|
|
51
|
+
}
|
|
52
|
+
dummy.updateMatrix();
|
|
53
|
+
if (instance) {
|
|
54
|
+
instance.setMatrixAt(i, dummy.matrix);
|
|
55
|
+
}
|
|
56
|
+
dummy.matrix.toArray(untracked(buffer).array, i * 16);
|
|
57
|
+
}
|
|
58
|
+
if (instance) {
|
|
59
|
+
checkUpdate(instance.instanceMatrix);
|
|
60
|
+
}
|
|
61
|
+
checkUpdate(buffer);
|
|
62
|
+
buffer.set(new InstancedBufferAttribute(untracked(buffer).array, untracked(buffer).itemSize).copy(untracked(buffer)));
|
|
63
|
+
}, { allowSignalWrites: true });
|
|
64
|
+
});
|
|
65
|
+
return buffer.asReadonly();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
const defaultOptions = {
|
|
69
|
+
count: 16,
|
|
70
|
+
};
|
|
71
|
+
export class NgtsSampler {
|
|
72
|
+
constructor() {
|
|
73
|
+
this.mesh = input(null);
|
|
74
|
+
this.instances = input(null);
|
|
75
|
+
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
76
|
+
this.parameters = omit(this.options, ['weight', 'transform', 'count']);
|
|
77
|
+
this.group = viewChild.required('group');
|
|
78
|
+
this.meshToSample = signal(null);
|
|
79
|
+
this.instancedToSample = signal(null);
|
|
80
|
+
extend({ Group });
|
|
81
|
+
const autoEffect = injectAutoEffect();
|
|
82
|
+
afterNextRender(() => {
|
|
83
|
+
autoEffect(() => {
|
|
84
|
+
const group = this.group().nativeElement;
|
|
85
|
+
const localState = getLocalState(group);
|
|
86
|
+
if (!localState)
|
|
87
|
+
return;
|
|
88
|
+
const [mesh, instances] = [resolveRef(this.mesh()), resolveRef(this.instances())];
|
|
89
|
+
this.meshToSample.set(mesh ?? localState.objects().find((c) => c.type === 'Mesh'));
|
|
90
|
+
this.instancedToSample.set(instances ?? localState.objects().find((c) => c.hasOwnProperty('instanceMatrix')));
|
|
91
|
+
}, { allowSignalWrites: true });
|
|
92
|
+
});
|
|
93
|
+
injectSurfaceSampler(this.meshToSample, () => ({
|
|
94
|
+
count: this.options().count,
|
|
95
|
+
transform: this.options().transform,
|
|
96
|
+
weight: this.options().weight,
|
|
97
|
+
instanceMesh: this.instancedToSample(),
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsSampler, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.1.0", type: NgtsSampler, isStandalone: true, selector: "ngts-sampler", inputs: { mesh: { classPropertyName: "mesh", publicName: "mesh", isSignal: true, isRequired: false, transformFunction: null }, instances: { classPropertyName: "instances", publicName: "instances", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "group", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
102
|
+
<ngt-group #group [parameters]="parameters()">
|
|
103
|
+
<ng-content />
|
|
104
|
+
</ngt-group>
|
|
105
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
106
|
+
}
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgtsSampler, decorators: [{
|
|
108
|
+
type: Component,
|
|
109
|
+
args: [{
|
|
110
|
+
selector: 'ngts-sampler',
|
|
111
|
+
standalone: true,
|
|
112
|
+
template: `
|
|
113
|
+
<ngt-group #group [parameters]="parameters()">
|
|
114
|
+
<ng-content />
|
|
115
|
+
</ngt-group>
|
|
116
|
+
`,
|
|
117
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
118
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
119
|
+
}]
|
|
120
|
+
}], ctorParameters: () => [] });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9saWIvc2FtcGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBR3RCLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQVksSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsS0FBSyxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBdUIsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN2SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBa0NsRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLElBQXNELEVBQ3RELFVBS0ksR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDZCxFQUFFLFFBQVEsS0FBOEIsRUFBRTtJQUUxQyxPQUFPLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FDcEIsQ0FBQyxHQUFHLEVBQUU7WUFDTCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVB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LEVBQUUsQ0FBQyxDQUFDO1lBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSztZQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVM7WUFDbkMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNO1lBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7U0FDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXZDVyxXQUFXO2tHQUFYLFdBQVcsMmpCQVJiOzs7O0VBSVQ7OzJGQUlXLFdBQVc7a0JBWHZCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7RUFJVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRJbmplY3Rvcixcblx0aW5wdXQsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2hlY2tVcGRhdGUsIGV4dGVuZCwgZ2V0TG9jYWxTdGF0ZSwgTmd0R3JvdXAsIG9taXQsIHJlc29sdmVSZWYgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGFzc2VydEluamVjdG9yIH0gZnJvbSAnbmd4dGVuc2lvbi9hc3NlcnQtaW5qZWN0b3InO1xuaW1wb3J0IHsgaW5qZWN0QXV0b0VmZmVjdCB9IGZyb20gJ25neHRlbnNpb24vYXV0by1lZmZlY3QnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQnVmZmVyR2VvbWV0cnksIENvbG9yLCBHcm91cCwgSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlLCBJbnN0YW5jZWRNZXNoLCBNZXNoLCBPYmplY3QzRCwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE1lc2hTdXJmYWNlU2FtcGxlciB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbmludGVyZmFjZSBTYW1wbGVQYXlsb2FkIHtcblx0LyoqXG5cdCAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgc2FtcGxlLlxuXHQgKi9cblx0cG9zaXRpb246IFZlY3RvcjM7XG5cdC8qKlxuXHQgKiBUaGUgbm9ybWFsIG9mIHRoZSBtZXNoIGF0IHRoZSBzYW1wbGVkIHBvc2l0aW9uLlxuXHQgKi9cblx0bm9ybWFsOiBWZWN0b3IzO1xuXHQvKipcblx0ICogVGhlIHZlcnRleCBjb2xvciBvZiB0aGUgbWVzaCBhdCB0aGUgc2FtcGxlZCBwb3NpdGlvbi5cblx0ICovXG5cdGNvbG9yOiBDb2xvcjtcbn1cblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtRm4gPSAocGF5bG9hZDogVHJhbnNmb3JtUGF5bG9hZCwgaTogbnVtYmVyKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgVHJhbnNmb3JtUGF5bG9hZCBleHRlbmRzIFNhbXBsZVBheWxvYWQge1xuXHQvKipcblx0ICogVGhlIGR1bW15IG9iamVjdCB1c2VkIHRvIHRyYW5zZm9ybSBlYWNoIGluc3RhbmNlLlxuXHQgKiBUaGlzIG9iamVjdCdzIG1hdHJpeCB3aWxsIGJlIHVwZGF0ZWQgYWZ0ZXIgdHJhbnNmb3JtaW5nICYgaXQgd2lsbCBiZSB1c2VkXG5cdCAqIHRvIHNldCB0aGUgaW5zdGFuY2UncyBtYXRyaXguXG5cdCAqL1xuXHRkdW1teTogT2JqZWN0M0Q7XG5cdC8qKlxuXHQgKiBUaGUgbWVzaCB0aGF0J3MgaW5pdGlhbGx5IHBhc3NlZCB0byB0aGUgc2FtcGxlci5cblx0ICogVXNlIHRoaXMgaWYgeW91IG5lZWQgdG8gYXBwbHkgdHJhbnNmb3JtcyBmcm9tIHlvdXIgbWVzaCB0byB5b3VyIGluc3RhbmNlc1xuXHQgKiBvciBpZiB5b3UgbmVlZCB0byBncmFiIGF0dHJpYnV0ZXMgZnJvbSB0aGUgZ2VvbWV0cnkuXG5cdCAqL1xuXHRzYW1wbGVkTWVzaDogTWVzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFN1cmZhY2VTYW1wbGVyKFxuXHRtZXNoOiAoKSA9PiBFbGVtZW50UmVmPE1lc2g+IHwgTWVzaCB8IG51bGwgfCB1bmRlZmluZWQsXG5cdG9wdGlvbnM6ICgpID0+IHtcblx0XHRjb3VudD86IG51bWJlcjtcblx0XHR0cmFuc2Zvcm0/OiBUcmFuc2Zvcm1Gbjtcblx0XHR3ZWlnaHQ/OiBzdHJpbmc7XG5cdFx0aW5zdGFuY2VNZXNoPzogRWxlbWVudFJlZjxJbnN0YW5jZWRNZXNoPiB8IEluc3RhbmNlZE1lc2ggfCBudWxsO1xuXHR9ID0gKCkgPT4gKHt9KSxcblx0eyBpbmplY3RvciB9OiB7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RTdXJmYWNlU2FtcGxlciwgaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBidWZmZXIgPSBzaWduYWwoXG5cdFx0XHQoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBhcnIgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBvcHRpb25zKCkuY291bnQgPz8gMTYgfSwgKCkgPT4gW1xuXHRcdFx0XHRcdDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsXG5cdFx0XHRcdF0pLmZsYXQoKTtcblx0XHRcdFx0cmV0dXJuIG5ldyBJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUoRmxvYXQzMkFycmF5LmZyb20oYXJyKSwgMTYpO1xuXHRcdFx0fSkoKSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHRhdXRvRWZmZWN0KFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY3VycmVudE1lc2ggPSByZXNvbHZlUmVmKG1lc2goKSk7XG5cdFx0XHRcdFx0aWYgKCFjdXJyZW50TWVzaCkgcmV0dXJuO1xuXG5cdFx0XHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoY3VycmVudE1lc2gpO1xuXHRcdFx0XHRcdGlmICghbG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0XHRcdFx0Y29uc3Qgbm9uT2JqZWN0cyA9IGxvY2FsU3RhdGUubm9uT2JqZWN0cygpO1xuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdCFub25PYmplY3RzIHx8XG5cdFx0XHRcdFx0XHQhbm9uT2JqZWN0cy5sZW5ndGggfHxcblx0XHRcdFx0XHRcdG5vbk9iamVjdHMuZXZlcnkoKG5vbk9iamVjdCkgPT4gIShub25PYmplY3QgYXMgQnVmZmVyR2VvbWV0cnkpLmlzQnVmZmVyR2VvbWV0cnkpXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Y29uc3Qgc2FtcGxlciA9IG5ldyBNZXNoU3VyZmFjZVNhbXBsZXIoY3VycmVudE1lc2gpO1xuXG5cdFx0XHRcdFx0Y29uc3QgeyB3ZWlnaHQsIGNvdW50ID0gMTYsIHRyYW5zZm9ybSwgaW5zdGFuY2VNZXNoIH0gPSBvcHRpb25zKCk7XG5cblx0XHRcdFx0XHRpZiAod2VpZ2h0KSB7XG5cdFx0XHRcdFx0XHRzYW1wbGVyLnNldFdlaWdodEF0dHJpYnV0ZSh3ZWlnaHQpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHNhbXBsZXIuYnVpbGQoKTtcblxuXHRcdFx0XHRcdGNvbnN0IHBvc2l0aW9uID0gbmV3IFZlY3RvcjMoKTtcblx0XHRcdFx0XHRjb25zdCBub3JtYWwgPSBuZXcgVmVjdG9yMygpO1xuXHRcdFx0XHRcdGNvbnN0IGNvbG9yID0gbmV3IENvbG9yKCk7XG5cdFx0XHRcdFx0Y29uc3QgZHVtbXkgPSBuZXcgT2JqZWN0M0QoKTtcblx0XHRcdFx0XHRjb25zdCBpbnN0YW5jZSA9IHJlc29sdmVSZWYoaW5zdGFuY2VNZXNoKTtcblxuXHRcdFx0XHRcdGN1cnJlbnRNZXNoLnVwZGF0ZU1hdHJpeFdvcmxkKHRydWUpO1xuXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG5cdFx0XHRcdFx0XHRzYW1wbGVyLnNhbXBsZShwb3NpdGlvbiwgbm9ybWFsLCBjb2xvcik7XG5cblx0XHRcdFx0XHRcdGlmICh0eXBlb2YgdHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybSh7IGR1bW15LCBzYW1wbGVkTWVzaDogY3VycmVudE1lc2gsIHBvc2l0aW9uLCBub3JtYWwsIGNvbG9yIH0sIGkpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0ZHVtbXkucG9zaXRpb24uY29weShwb3NpdGlvbik7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGR1bW15LnVwZGF0ZU1hdHJpeCgpO1xuXG5cdFx0XHRcdFx0XHRpZiAoaW5zdGFuY2UpIHtcblx0XHRcdFx0XHRcdFx0aW5zdGFuY2Uuc2V0TWF0cml4QXQoaSwgZHVtbXkubWF0cml4KTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0ZHVtbXkubWF0cml4LnRvQXJyYXkodW50cmFja2VkKGJ1ZmZlcikuYXJyYXksIGkgKiAxNik7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aWYgKGluc3RhbmNlKSB7XG5cdFx0XHRcdFx0XHRjaGVja1VwZGF0ZShpbnN0YW5jZS5pbnN0YW5jZU1hdHJpeCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Y2hlY2tVcGRhdGUoYnVmZmVyKTtcblxuXHRcdFx0XHRcdGJ1ZmZlci5zZXQoXG5cdFx0XHRcdFx0XHRuZXcgSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlKHVudHJhY2tlZChidWZmZXIpLmFycmF5LCB1bnRyYWNrZWQoYnVmZmVyKS5pdGVtU2l6ZSkuY29weSh1bnRyYWNrZWQoYnVmZmVyKSksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdFx0KTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBidWZmZXIuYXNSZWFkb25seSgpO1xuXHR9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RzU2FtcGxlck9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPE5ndEdyb3VwPiB7XG5cdC8qKlxuXHQgKiBUaGUgTkFNRSBvZiB0aGUgd2VpZ2h0IGF0dHJpYnV0ZSB0byB1c2Ugd2hlbiBzYW1wbGluZy5cblx0ICpcblx0ICogQHNlZSBodHRwczovL3RocmVlanMub3JnL2RvY3MvI2V4YW1wbGVzL2VuL21hdGgvTWVzaFN1cmZhY2VTYW1wbGVyLnNldFdlaWdodEF0dHJpYnV0ZVxuXHQgKi9cblx0d2VpZ2h0Pzogc3RyaW5nO1xuXHQvKipcblx0ICogVHJhbnNmb3JtYXRpb24gdG8gYmUgYXBwbGllZCB0byBlYWNoIGluc3RhbmNlLlxuXHQgKiBSZWNlaXZlcyBhIGR1bW15IG9iamVjdDNEIHdpdGggYWxsIHRoZSBzYW1wbGVkIGRhdGEgKCBAc2VlIFRyYW5zZm9ybVBheWxvYWQgKS5cblx0ICogSXQgc2hvdWxkIG11dGF0ZSBgdHJhbnNmb3JtUGF5bG9hZC5kdW1teWAuXG5cdCAqXG5cdCAqIEBzZWUgKCBAdG9kbyBhZGQgbGluayB0byBleGFtcGxlIClcblx0ICpcblx0ICogVGhlcmUgaXMgbm8gbmVlZCB0byB1cGRhdGUgdGhlIGR1bW15J3MgbWF0cml4XG5cdCAqL1xuXHR0cmFuc2Zvcm0/OiBUcmFuc2Zvcm1Gbjtcblx0Y291bnQ6IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNTYW1wbGVyT3B0aW9ucyA9IHtcblx0Y291bnQ6IDE2LFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1zYW1wbGVyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cCBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTYW1wbGVyIHtcblx0bWVzaCA9IGlucHV0PEVsZW1lbnRSZWY8TWVzaD4gfCBNZXNoIHwgbnVsbD4obnVsbCk7XG5cdGluc3RhbmNlcyA9IGlucHV0PEVsZW1lbnRSZWY8SW5zdGFuY2VkTWVzaD4gfCBJbnN0YW5jZWRNZXNoIHwgbnVsbD4obnVsbCk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbJ3dlaWdodCcsICd0cmFuc2Zvcm0nLCAnY291bnQnXSk7XG5cblx0Z3JvdXAgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXG5cdHByaXZhdGUgbWVzaFRvU2FtcGxlID0gc2lnbmFsPE1lc2ggfCBudWxsPihudWxsKTtcblx0cHJpdmF0ZSBpbnN0YW5jZWRUb1NhbXBsZSA9IHNpZ25hbDxJbnN0YW5jZWRNZXNoIHwgbnVsbD4obnVsbCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAgfSk7XG5cdFx0Y29uc3QgYXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblxuXHRcdGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG5cdFx0XHRhdXRvRWZmZWN0KFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgZ3JvdXAgPSB0aGlzLmdyb3VwKCkubmF0aXZlRWxlbWVudDtcblx0XHRcdFx0XHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShncm91cCk7XG5cdFx0XHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm47XG5cblx0XHRcdFx0XHRjb25zdCBbbWVzaCwgaW5zdGFuY2VzXSA9IFtyZXNvbHZlUmVmKHRoaXMubWVzaCgpKSwgcmVzb2x2ZVJlZih0aGlzLmluc3RhbmNlcygpKV07XG5cblx0XHRcdFx0XHR0aGlzLm1lc2hUb1NhbXBsZS5zZXQobWVzaCA/PyAobG9jYWxTdGF0ZS5vYmplY3RzKCkuZmluZCgoYykgPT4gYy50eXBlID09PSAnTWVzaCcpIGFzIE1lc2gpKTtcblx0XHRcdFx0XHR0aGlzLmluc3RhbmNlZFRvU2FtcGxlLnNldChcblx0XHRcdFx0XHRcdGluc3RhbmNlcyA/PyAobG9jYWxTdGF0ZS5vYmplY3RzKCkuZmluZCgoYykgPT4gYy5oYXNPd25Qcm9wZXJ0eSgnaW5zdGFuY2VNYXRyaXgnKSkgYXMgSW5zdGFuY2VkTWVzaCksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdFx0KTtcblx0XHR9KTtcblxuXHRcdGluamVjdFN1cmZhY2VTYW1wbGVyKHRoaXMubWVzaFRvU2FtcGxlLCAoKSA9PiAoe1xuXHRcdFx0Y291bnQ6IHRoaXMub3B0aW9ucygpLmNvdW50LFxuXHRcdFx0dHJhbnNmb3JtOiB0aGlzLm9wdGlvbnMoKS50cmFuc2Zvcm0sXG5cdFx0XHR3ZWlnaHQ6IHRoaXMub3B0aW9ucygpLndlaWdodCxcblx0XHRcdGluc3RhbmNlTWVzaDogdGhpcy5pbnN0YW5jZWRUb1NhbXBsZSgpLFxuXHRcdH0pKTtcblx0fVxufVxuIl19
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
|
|
4
|
-
export * from './convolution-material/convolution-material';
|
|
5
|
-
export * from './discard-material/discard-material';
|
|
6
|
-
export * from './grid-material/grid-material';
|
|
7
|
-
export * from './mesh-distort-material/mesh-distort-material';
|
|
8
|
-
export * from './mesh-reflector-material/mesh-reflector-material';
|
|
9
|
-
export * from './mesh-refraction-material/mesh-refraction-material';
|
|
10
|
-
export * from './mesh-transmission-material/mesh-transmission-material';
|
|
11
|
-
export * from './mesh-wobble-material/mesh-wobble-material';
|
|
12
|
-
export * from './shader-material/shader-material';
|
|
13
|
-
export * from './soft-shadow-material/soft-shadow-material';
|
|
14
|
-
export * from './sparkles-material/sparkles-material';
|
|
15
|
-
export * from './spot-light-material/spot-light-material';
|
|
16
|
-
export * from './star-field-material/star-field-material';
|
|
17
|
-
export * from './wireframe-material/wireframe-material';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc2hhZGVycy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ibHVyLXBhc3MvYmx1ci1wYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vY2F1c3RpY3MvY2F1c3RpY3MtbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXVzdGljcy9jYXVzdGljcy1wcm9qZWN0aW9uLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vY29udm9sdXRpb24tbWF0ZXJpYWwvY29udm9sdXRpb24tbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXNjYXJkLW1hdGVyaWFsL2Rpc2NhcmQtbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkLW1hdGVyaWFsL2dyaWQtbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNoLWRpc3RvcnQtbWF0ZXJpYWwvbWVzaC1kaXN0b3J0LW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWwvbWVzaC1yZWZsZWN0b3ItbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNoLXJlZnJhY3Rpb24tbWF0ZXJpYWwvbWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwvbWVzaC10cmFuc21pc3Npb24tbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNoLXdvYmJsZS1tYXRlcmlhbC9tZXNoLXdvYmJsZS1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYWRlci1tYXRlcmlhbC9zaGFkZXItbWF0ZXJpYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zb2Z0LXNoYWRvdy1tYXRlcmlhbC9zb2Z0LXNoYWRvdy1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL3NwYXJrbGVzLW1hdGVyaWFsL3NwYXJrbGVzLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vc3BvdC1saWdodC1tYXRlcmlhbC9zcG90LWxpZ2h0LW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vc3Rhci1maWVsZC1tYXRlcmlhbC9zdGFyLWZpZWxkLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vd2lyZWZyYW1lLW1hdGVyaWFsL3dpcmVmcmFtZS1tYXRlcmlhbCc7XG4iXX0=
|
|
1
|
+
export * from './lib/grid-material';
|
|
2
|
+
export * from './lib/mesh-refraction-material';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc2hhZGVycy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JpZC1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXNoLXJlZnJhY3Rpb24tbWF0ZXJpYWwnO1xuIl19
|