angular-three-soba 2.14.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/abstractions/lib/catmull-rom-line.d.ts +117 -117
  2. package/abstractions/lib/edges.d.ts +126 -126
  3. package/abstractions/lib/grid.d.ts +15 -15
  4. package/abstractions/lib/line.d.ts +1 -1
  5. package/abstractions/lib/prism-geometry.d.ts +4 -4
  6. package/abstractions/lib/rounded-box.d.ts +1 -1
  7. package/abstractions/lib/text-3d.d.ts +22 -22
  8. package/abstractions/lib/text.d.ts +1 -1
  9. package/cameras/lib/cube-camera.d.ts +1 -1
  10. package/cameras/lib/orthographic-camera.d.ts +1 -1
  11. package/cameras/lib/perspective-camera.d.ts +1 -1
  12. package/controls/index.d.ts +0 -9
  13. package/controls/lib/camera-controls.d.ts +1 -1
  14. package/controls/lib/orbit-controls.d.ts +1 -1
  15. package/fesm2022/angular-three-soba-abstractions.mjs +41 -52
  16. package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
  17. package/fesm2022/angular-three-soba-cameras.mjs +12 -15
  18. package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
  19. package/fesm2022/angular-three-soba-controls.mjs +16 -24
  20. package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
  21. package/fesm2022/angular-three-soba-gizmos.mjs +59 -60
  22. package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
  23. package/fesm2022/angular-three-soba-loaders.mjs +3 -3
  24. package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
  25. package/fesm2022/angular-three-soba-materials.mjs +27 -35
  26. package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
  27. package/fesm2022/angular-three-soba-misc.mjs +27 -29
  28. package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
  29. package/fesm2022/angular-three-soba-performances.mjs +31 -34
  30. package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
  31. package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
  32. package/fesm2022/angular-three-soba-staging.mjs +91 -105
  33. package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
  34. package/fesm2022/angular-three-soba-stats.mjs +3 -3
  35. package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
  36. package/gizmos/lib/gizmo-helper/gizmo-viewport.d.ts +1 -1
  37. package/gizmos/lib/pivot-controls/axis-arrow.d.ts +1 -1
  38. package/gizmos/lib/pivot-controls/axis-rotator.d.ts +1 -1
  39. package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
  40. package/gizmos/lib/pivot-controls/plane-slider.d.ts +1 -1
  41. package/gizmos/lib/pivot-controls/scaling-sphere.d.ts +1 -1
  42. package/gizmos/lib/transform-controls.d.ts +2 -2
  43. package/materials/lib/custom-shader-material.d.ts +2 -2
  44. package/materials/lib/mesh-portal-material.d.ts +9 -9
  45. package/materials/lib/mesh-refraction-material.d.ts +2 -2
  46. package/materials/lib/mesh-transmission-material.d.ts +1 -1
  47. package/misc/lib/computed-attribute.d.ts +6 -6
  48. package/misc/lib/decal.d.ts +1 -1
  49. package/misc/lib/html/html.d.ts +2 -2
  50. package/misc/lib/sampler.d.ts +1 -1
  51. package/package.json +11 -37
  52. package/performances/lib/instances/instances.d.ts +5 -5
  53. package/performances/lib/points/points.d.ts +10 -10
  54. package/performances/lib/segments/segments.d.ts +4 -4
  55. package/shaders/lib/mesh-refraction-material.d.ts +2 -2
  56. package/staging/lib/caustics.d.ts +1 -1
  57. package/staging/lib/center.d.ts +2 -2
  58. package/staging/lib/contact-shadows.d.ts +1 -1
  59. package/staging/lib/lightformer.d.ts +1 -1
  60. package/staging/lib/mask.d.ts +1 -1
  61. package/staging/lib/render-texture.d.ts +1 -1
  62. package/staging/lib/spot-light.d.ts +2 -2
  63. package/esm2022/abstractions/angular-three-soba-abstractions.mjs +0 -5
  64. package/esm2022/abstractions/index.mjs +0 -14
  65. package/esm2022/abstractions/lib/billboard.mjs +0 -69
  66. package/esm2022/abstractions/lib/catmull-rom-line.mjs +0 -76
  67. package/esm2022/abstractions/lib/cubic-bezier-line.mjs +0 -51
  68. package/esm2022/abstractions/lib/edges.mjs +0 -66
  69. package/esm2022/abstractions/lib/gradient-texture.mjs +0 -91
  70. package/esm2022/abstractions/lib/grid.mjs +0 -103
  71. package/esm2022/abstractions/lib/helper.mjs +0 -74
  72. package/esm2022/abstractions/lib/line.mjs +0 -123
  73. package/esm2022/abstractions/lib/prism-geometry.mjs +0 -46
  74. package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +0 -73
  75. package/esm2022/abstractions/lib/rounded-box.mjs +0 -131
  76. package/esm2022/abstractions/lib/text-3d.mjs +0 -100
  77. package/esm2022/abstractions/lib/text.mjs +0 -86
  78. package/esm2022/angular-three-soba.mjs +0 -5
  79. package/esm2022/cameras/angular-three-soba-cameras.mjs +0 -5
  80. package/esm2022/cameras/index.mjs +0 -5
  81. package/esm2022/cameras/lib/camera-content.mjs +0 -14
  82. package/esm2022/cameras/lib/cube-camera.mjs +0 -102
  83. package/esm2022/cameras/lib/orthographic-camera.mjs +0 -131
  84. package/esm2022/cameras/lib/perspective-camera.mjs +0 -105
  85. package/esm2022/controls/angular-three-soba-controls.mjs +0 -5
  86. package/esm2022/controls/index.mjs +0 -9
  87. package/esm2022/controls/lib/camera-controls.mjs +0 -126
  88. package/esm2022/controls/lib/orbit-controls.mjs +0 -114
  89. package/esm2022/controls/lib/scroll-controls.mjs +0 -261
  90. package/esm2022/gizmos/angular-three-soba-gizmos.mjs +0 -5
  91. package/esm2022/gizmos/index.mjs +0 -6
  92. package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +0 -191
  93. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +0 -304
  94. package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +0 -348
  95. package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +0 -265
  96. package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +0 -264
  97. package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +0 -349
  98. package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +0 -266
  99. package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +0 -232
  100. package/esm2022/gizmos/lib/transform-controls.mjs +0 -177
  101. package/esm2022/index.mjs +0 -2
  102. package/esm2022/loaders/angular-three-soba-loaders.mjs +0 -5
  103. package/esm2022/loaders/index.mjs +0 -7
  104. package/esm2022/loaders/lib/fbx-loader.mjs +0 -13
  105. package/esm2022/loaders/lib/font-loader.mjs +0 -49
  106. package/esm2022/loaders/lib/gltf-loader.mjs +0 -51
  107. package/esm2022/loaders/lib/loader.mjs +0 -103
  108. package/esm2022/loaders/lib/progress.mjs +0 -51
  109. package/esm2022/loaders/lib/texture-loader.mjs +0 -32
  110. package/esm2022/materials/angular-three-soba-materials.mjs +0 -5
  111. package/esm2022/materials/index.mjs +0 -9
  112. package/esm2022/materials/lib/custom-shader-material.mjs +0 -67
  113. package/esm2022/materials/lib/mesh-distort-material.mjs +0 -43
  114. package/esm2022/materials/lib/mesh-portal-material.mjs +0 -294
  115. package/esm2022/materials/lib/mesh-reflector-material.mjs +0 -274
  116. package/esm2022/materials/lib/mesh-refraction-material.mjs +0 -140
  117. package/esm2022/materials/lib/mesh-transmission-material.mjs +0 -188
  118. package/esm2022/materials/lib/mesh-wobble-material.mjs +0 -43
  119. package/esm2022/materials/lib/point-material.mjs +0 -34
  120. package/esm2022/misc/angular-three-soba-misc.mjs +0 -5
  121. package/esm2022/misc/index.mjs +0 -15
  122. package/esm2022/misc/lib/animations.mjs +0 -71
  123. package/esm2022/misc/lib/bake-shadows.mjs +0 -24
  124. package/esm2022/misc/lib/computed-attribute.mjs +0 -51
  125. package/esm2022/misc/lib/constants.mjs +0 -5
  126. package/esm2022/misc/lib/decal.mjs +0 -142
  127. package/esm2022/misc/lib/deprecated.mjs +0 -15
  128. package/esm2022/misc/lib/depth-buffer.mjs +0 -35
  129. package/esm2022/misc/lib/fbo.mjs +0 -86
  130. package/esm2022/misc/lib/html/html-content.mjs +0 -322
  131. package/esm2022/misc/lib/html/html.mjs +0 -129
  132. package/esm2022/misc/lib/html/utils.mjs +0 -74
  133. package/esm2022/misc/lib/intersect.mjs +0 -49
  134. package/esm2022/misc/lib/preload.mjs +0 -58
  135. package/esm2022/misc/lib/sampler.mjs +0 -122
  136. package/esm2022/misc/lib/scale-factor.mjs +0 -29
  137. package/esm2022/performances/angular-three-soba-performances.mjs +0 -5
  138. package/esm2022/performances/index.mjs +0 -7
  139. package/esm2022/performances/lib/adaptive-dpr.mjs +0 -46
  140. package/esm2022/performances/lib/adaptive-events.mjs +0 -24
  141. package/esm2022/performances/lib/detailed.mjs +0 -53
  142. package/esm2022/performances/lib/instances/instances.mjs +0 -177
  143. package/esm2022/performances/lib/instances/position-mesh.mjs +0 -51
  144. package/esm2022/performances/lib/points/points.mjs +0 -272
  145. package/esm2022/performances/lib/points/position-point.mjs +0 -53
  146. package/esm2022/performances/lib/segments/segment-object.mjs +0 -9
  147. package/esm2022/performances/lib/segments/segments.mjs +0 -126
  148. package/esm2022/shaders/angular-three-soba-shaders.mjs +0 -5
  149. package/esm2022/shaders/index.mjs +0 -4
  150. package/esm2022/shaders/lib/grid-material.mjs +0 -81
  151. package/esm2022/shaders/lib/mesh-refraction-material.mjs +0 -163
  152. package/esm2022/shaders/lib/point-material.mjs +0 -24
  153. package/esm2022/staging/angular-three-soba-staging.mjs +0 -5
  154. package/esm2022/staging/index.mjs +0 -21
  155. package/esm2022/staging/lib/accumulative-shadows.mjs +0 -180
  156. package/esm2022/staging/lib/backdrop.mjs +0 -69
  157. package/esm2022/staging/lib/bb-anchor.mjs +0 -58
  158. package/esm2022/staging/lib/bounds.mjs +0 -282
  159. package/esm2022/staging/lib/camera-shake.mjs +0 -65
  160. package/esm2022/staging/lib/caustics.mjs +0 -184
  161. package/esm2022/staging/lib/center.mjs +0 -114
  162. package/esm2022/staging/lib/contact-shadows.mjs +0 -214
  163. package/esm2022/staging/lib/environment/environment.mjs +0 -344
  164. package/esm2022/staging/lib/environment/inject-environment.mjs +0 -184
  165. package/esm2022/staging/lib/float.mjs +0 -70
  166. package/esm2022/staging/lib/lightformer.mjs +0 -103
  167. package/esm2022/staging/lib/mask.mjs +0 -74
  168. package/esm2022/staging/lib/matcap-texture.mjs +0 -79
  169. package/esm2022/staging/lib/normal-texture.mjs +0 -79
  170. package/esm2022/staging/lib/randomized-lights.mjs +0 -100
  171. package/esm2022/staging/lib/render-texture.mjs +0 -202
  172. package/esm2022/staging/lib/sky.mjs +0 -86
  173. package/esm2022/staging/lib/spot-light.mjs +0 -445
  174. package/esm2022/staging/lib/stage.mjs +0 -232
  175. package/esm2022/stats/angular-three-soba-stats.mjs +0 -5
  176. package/esm2022/stats/index.mjs +0 -2
  177. package/esm2022/stats/lib/stats.mjs +0 -57
  178. package/esm2022/vanilla-exports/angular-three-soba-vanilla-exports.mjs +0 -5
  179. package/esm2022/vanilla-exports/index.mjs +0 -3
@@ -1,126 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, CUSTOM_ELEMENTS_SCHEMA, effect, inject, input, viewChild, } from '@angular/core';
2
- import { extend, injectBeforeRender, NgtArgs, omit, pick, resolveRef, vector3 } from 'angular-three';
3
- import { mergeInputs } from 'ngxtension/inject-inputs';
4
- import { Vector2 } from 'three';
5
- import { Line2, LineMaterial, LineSegmentsGeometry } from 'three-stdlib';
6
- import { SegmentObject } from './segment-object';
7
- import * as i0 from "@angular/core";
8
- export class NgtsSegment {
9
- constructor() {
10
- this.start = input.required();
11
- this.end = input.required();
12
- this.color = input();
13
- this.normalizedStart = vector3(this.start);
14
- this.normalizedEnd = vector3(this.end);
15
- this.segmentRef = viewChild.required('segment');
16
- this.segments = inject(NgtsSegments);
17
- extend({ SegmentObject });
18
- effect((onCleanup) => {
19
- const cleanUp = this.segments.subscribe(this.segmentRef());
20
- onCleanup(() => cleanUp());
21
- });
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSegment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsSegment, isStandalone: true, selector: "ngts-segment", inputs: { start: { classPropertyName: "start", publicName: "start", isSignal: true, isRequired: true, transformFunction: null }, end: { classPropertyName: "end", publicName: "end", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "segmentRef", first: true, predicate: ["segment"], descendants: true, isSignal: true }], ngImport: i0, template: `
25
- <ngt-segment-object #segment [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
26
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSegment, decorators: [{
29
- type: Component,
30
- args: [{
31
- selector: 'ngts-segment',
32
- standalone: true,
33
- template: `
34
- <ngt-segment-object #segment [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
35
- `,
36
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
37
- changeDetection: ChangeDetectionStrategy.OnPush,
38
- }]
39
- }], ctorParameters: () => [] });
40
- const defaultSegmentsOptions = {
41
- limit: 1000,
42
- lineWidth: 1.0,
43
- };
44
- export class NgtsSegments {
45
- constructor() {
46
- this.options = input(defaultSegmentsOptions, { transform: mergeInputs(defaultSegmentsOptions) });
47
- this.parameters = omit(this.options, ['limit', 'lineWidth']);
48
- this.lineWidth = pick(this.options, 'lineWidth');
49
- this.limit = pick(this.options, 'limit');
50
- this.lineRef = viewChild('line');
51
- this.segments = [];
52
- this.line = new Line2();
53
- this.material = new LineMaterial();
54
- this.geometry = new LineSegmentsGeometry();
55
- this.resolution = new Vector2(512, 512);
56
- this.materialParameters = computed(() => ({
57
- vertexColors: true,
58
- resolution: this.resolution,
59
- linewidth: this.lineWidth(),
60
- ...this.parameters(),
61
- }));
62
- this.positions = computed(() => {
63
- const limit = this.limit();
64
- return Array.from({ length: limit * 6 }, () => 0);
65
- });
66
- this.colors = computed(() => {
67
- const limit = this.limit();
68
- return Array.from({ length: limit * 6 }, () => 0);
69
- });
70
- injectBeforeRender(() => {
71
- const [limit, positions, colors] = [this.limit(), this.positions(), this.colors()];
72
- for (let i = 0; i < limit; i++) {
73
- const segment = resolveRef(this.segments[i]);
74
- if (segment) {
75
- positions[i * 6 + 0] = segment.start.x;
76
- positions[i * 6 + 1] = segment.start.y;
77
- positions[i * 6 + 2] = segment.start.z;
78
- positions[i * 6 + 3] = segment.end.x;
79
- positions[i * 6 + 4] = segment.end.y;
80
- positions[i * 6 + 5] = segment.end.z;
81
- colors[i * 6 + 0] = segment.color.r;
82
- colors[i * 6 + 1] = segment.color.g;
83
- colors[i * 6 + 2] = segment.color.b;
84
- colors[i * 6 + 3] = segment.color.r;
85
- colors[i * 6 + 4] = segment.color.g;
86
- colors[i * 6 + 5] = segment.color.b;
87
- }
88
- }
89
- this.geometry.setColors(colors);
90
- this.geometry.setPositions(positions);
91
- this.line.computeLineDistances();
92
- });
93
- }
94
- subscribe(ref) {
95
- this.segments.push(ref);
96
- return () => {
97
- this.segments = this.segments.filter((i) => i !== ref);
98
- };
99
- }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSegments, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtsSegments, isStandalone: true, selector: "ngts-segments", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lineRef", first: true, predicate: ["line"], descendants: true, isSignal: true }], ngImport: i0, template: `
102
- <ngt-primitive #line *args="[line]">
103
- <ngt-primitive *args="[geometry]" attach="geometry" />
104
- <ngt-primitive *args="[material]" attach="material" [parameters]="materialParameters()" />
105
- <ng-content />
106
- </ngt-primitive>
107
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsSegments, decorators: [{
110
- type: Component,
111
- args: [{
112
- selector: 'ngts-segments',
113
- standalone: true,
114
- template: `
115
- <ngt-primitive #line *args="[line]">
116
- <ngt-primitive *args="[geometry]" attach="geometry" />
117
- <ngt-primitive *args="[material]" attach="material" [parameters]="materialParameters()" />
118
- <ng-content />
119
- </ngt-primitive>
120
- `,
121
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
122
- changeDetection: ChangeDetectionStrategy.OnPush,
123
- imports: [NgtArgs],
124
- }]
125
- }], ctorParameters: () => [] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvcGVyZm9ybWFuY2VzL3NyYy9saWIvc2VnbWVudHMvc2VnbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixNQUFNLEVBRU4sTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQWMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQXVCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBMEIsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVdqRCxNQUFNLE9BQU8sV0FBVztJQVl2QjtRQVhBLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFjLENBQUM7UUFDckMsUUFBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUNuQyxVQUFLLEdBQUcsS0FBSyxFQUF1QixDQUFDO1FBRXJDLG9CQUFlLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbEMsZUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQTRCLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLGFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxD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LENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0QmVmb3JlUmVuZGVyLCBOZ3RBcmdzLCBOZ3RWZWN0b3IzLCBvbWl0LCBwaWNrLCByZXNvbHZlUmVmLCB2ZWN0b3IzIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBDb2xvclJlcHJlc2VudGF0aW9uLCBWZWN0b3IyIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTGluZTIsIExpbmVNYXRlcmlhbCwgTGluZU1hdGVyaWFsUGFyYW1ldGVycywgTGluZVNlZ21lbnRzR2VvbWV0cnkgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuaW1wb3J0IHsgU2VnbWVudE9iamVjdCB9IGZyb20gJy4vc2VnbWVudC1vYmplY3QnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXNlZ21lbnQnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3Qtc2VnbWVudC1vYmplY3QgI3NlZ21lbnQgW2NvbG9yXT1cImNvbG9yKClcIiBbc3RhcnRdPVwibm9ybWFsaXplZFN0YXJ0KClcIiBbZW5kXT1cIm5vcm1hbGl6ZWRFbmQoKVwiIC8+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTZWdtZW50IHtcblx0c3RhcnQgPSBpbnB1dC5yZXF1aXJlZDxOZ3RWZWN0b3IzPigpO1xuXHRlbmQgPSBpbnB1dC5yZXF1aXJlZDxOZ3RWZWN0b3IzPigpO1xuXHRjb2xvciA9IGlucHV0PENvbG9yUmVwcmVzZW50YXRpb24+KCk7XG5cblx0bm9ybWFsaXplZFN0YXJ0ID0gdmVjdG9yMyh0aGlzLnN0YXJ0KTtcblx0bm9ybWFsaXplZEVuZCA9IHZlY3RvcjModGhpcy5lbmQpO1xuXG5cdHNlZ21lbnRSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxTZWdtZW50T2JqZWN0Pj4oJ3NlZ21lbnQnKTtcblxuXHRzZWdtZW50cyA9IGluamVjdChOZ3RzU2VnbWVudHMpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IFNlZ21lbnRPYmplY3QgfSk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgY2xlYW5VcCA9IHRoaXMuc2VnbWVudHMuc3Vic2NyaWJlKHRoaXMuc2VnbWVudFJlZigpKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjbGVhblVwKCkpO1xuXHRcdH0pO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c1NlZ21lbnRzT3B0aW9ucyBleHRlbmRzIExpbmVNYXRlcmlhbFBhcmFtZXRlcnMge1xuXHRsaW1pdDogbnVtYmVyO1xuXHRsaW5lV2lkdGg6IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdFNlZ21lbnRzT3B0aW9uczogTmd0c1NlZ21lbnRzT3B0aW9ucyA9IHtcblx0bGltaXQ6IDEwMDAsXG5cdGxpbmVXaWR0aDogMS4wLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1zZWdtZW50cycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1wcmltaXRpdmUgI2xpbmUgKmFyZ3M9XCJbbGluZV1cIj5cblx0XHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2dlb21ldHJ5XVwiIGF0dGFjaD1cImdlb21ldHJ5XCIgLz5cblx0XHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW21hdGVyaWFsXVwiIGF0dGFjaD1cIm1hdGVyaWFsXCIgW3BhcmFtZXRlcnNdPVwibWF0ZXJpYWxQYXJhbWV0ZXJzKClcIiAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1wcmltaXRpdmU+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1NlZ21lbnRzIHtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRTZWdtZW50c09wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0U2VnbWVudHNPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbJ2xpbWl0JywgJ2xpbmVXaWR0aCddKTtcblxuXHRwcml2YXRlIGxpbmVXaWR0aCA9IHBpY2sodGhpcy5vcHRpb25zLCAnbGluZVdpZHRoJyk7XG5cdHByaXZhdGUgbGltaXQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2xpbWl0Jyk7XG5cblx0bGluZVJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPExpbmUyPj4oJ2xpbmUnKTtcblxuXHRzZWdtZW50czogQXJyYXk8RWxlbWVudFJlZjxTZWdtZW50T2JqZWN0PiB8IFNlZ21lbnRPYmplY3Q+ID0gW107XG5cblx0bGluZSA9IG5ldyBMaW5lMigpO1xuXHRtYXRlcmlhbCA9IG5ldyBMaW5lTWF0ZXJpYWwoKTtcblx0Z2VvbWV0cnkgPSBuZXcgTGluZVNlZ21lbnRzR2VvbWV0cnkoKTtcblx0cmVzb2x1dGlvbiA9IG5ldyBWZWN0b3IyKDUxMiwgNTEyKTtcblxuXHRtYXRlcmlhbFBhcmFtZXRlcnMgPSBjb21wdXRlZCgoKSA9PiAoe1xuXHRcdHZlcnRleENvbG9yczogdHJ1ZSxcblx0XHRyZXNvbHV0aW9uOiB0aGlzLnJlc29sdXRpb24sXG5cdFx0bGluZXdpZHRoOiB0aGlzLmxpbmVXaWR0aCgpLFxuXHRcdC4uLnRoaXMucGFyYW1ldGVycygpLFxuXHR9KSk7XG5cblx0cG9zaXRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGxpbWl0ID0gdGhpcy5saW1pdCgpO1xuXHRcdHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBsaW1pdCAqIDYgfSwgKCkgPT4gMCk7XG5cdH0pO1xuXHRjb2xvcnMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgbGltaXQgPSB0aGlzLmxpbWl0KCk7XG5cdFx0cmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IGxpbWl0ICogNiB9LCAoKSA9PiAwKTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IFtsaW1pdCwgcG9zaXRpb25zLCBjb2xvcnNdID0gW3RoaXMubGltaXQoKSwgdGhpcy5wb3NpdGlvbnMoKSwgdGhpcy5jb2xvcnMoKV07XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbGltaXQ7IGkrKykge1xuXHRcdFx0XHRjb25zdCBzZWdtZW50ID0gcmVzb2x2ZVJlZih0aGlzLnNlZ21lbnRzW2ldKTtcblx0XHRcdFx0aWYgKHNlZ21lbnQpIHtcblx0XHRcdFx0XHRwb3NpdGlvbnNbaSAqIDYgKyAwXSA9IHNlZ21lbnQuc3RhcnQueDtcblx0XHRcdFx0XHRwb3NpdGlvbnNbaSAqIDYgKyAxXSA9IHNlZ21lbnQuc3RhcnQueTtcblx0XHRcdFx0XHRwb3NpdGlvbnNbaSAqIDYgKyAyXSA9IHNlZ21lbnQuc3RhcnQuejtcblxuXHRcdFx0XHRcdHBvc2l0aW9uc1tpICogNiArIDNdID0gc2VnbWVudC5lbmQueDtcblx0XHRcdFx0XHRwb3NpdGlvbnNbaSAqIDYgKyA0XSA9IHNlZ21lbnQuZW5kLnk7XG5cdFx0XHRcdFx0cG9zaXRpb25zW2kgKiA2ICsgNV0gPSBzZWdtZW50LmVuZC56O1xuXG5cdFx0XHRcdFx0Y29sb3JzW2kgKiA2ICsgMF0gPSBzZWdtZW50LmNvbG9yLnI7XG5cdFx0XHRcdFx0Y29sb3JzW2kgKiA2ICsgMV0gPSBzZWdtZW50LmNvbG9yLmc7XG5cdFx0XHRcdFx0Y29sb3JzW2kgKiA2ICsgMl0gPSBzZWdtZW50LmNvbG9yLmI7XG5cblx0XHRcdFx0XHRjb2xvcnNbaSAqIDYgKyAzXSA9IHNlZ21lbnQuY29sb3Iucjtcblx0XHRcdFx0XHRjb2xvcnNbaSAqIDYgKyA0XSA9IHNlZ21lbnQuY29sb3IuZztcblx0XHRcdFx0XHRjb2xvcnNbaSAqIDYgKyA1XSA9IHNlZ21lbnQuY29sb3IuYjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLmdlb21ldHJ5LnNldENvbG9ycyhjb2xvcnMpO1xuXHRcdFx0dGhpcy5nZW9tZXRyeS5zZXRQb3NpdGlvbnMocG9zaXRpb25zKTtcblx0XHRcdHRoaXMubGluZS5jb21wdXRlTGluZURpc3RhbmNlcygpO1xuXHRcdH0pO1xuXHR9XG5cblx0c3Vic2NyaWJlKHJlZjogRWxlbWVudFJlZjxTZWdtZW50T2JqZWN0PiB8IFNlZ21lbnRPYmplY3QpIHtcblx0XHR0aGlzLnNlZ21lbnRzLnB1c2gocmVmKTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0dGhpcy5zZWdtZW50cyA9IHRoaXMuc2VnbWVudHMuZmlsdGVyKChpKSA9PiBpICE9PSByZWYpO1xuXHRcdH07XG5cdH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1zb2JhLXNoYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc2hhZGVycy9zcmMvYW5ndWxhci10aHJlZS1zb2JhLXNoYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './lib/grid-material';
2
- export * from './lib/mesh-refraction-material';
3
- export * from './lib/point-material';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc2hhZGVycy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ncmlkLW1hdGVyaWFsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lc2gtcmVmcmFjdGlvbi1tYXRlcmlhbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb2ludC1tYXRlcmlhbCc7XG4iXX0=
@@ -1,81 +0,0 @@
1
- import { getVersion } from 'angular-three-soba/misc';
2
- import { shaderMaterial } from 'angular-three-soba/vanilla-exports';
3
- import { Color, Vector3 } from 'three';
4
- export const GridMaterial = shaderMaterial({
5
- cellSize: 0.5,
6
- sectionSize: 1,
7
- fadeDistance: 100,
8
- fadeStrength: 1,
9
- fadeFrom: 1,
10
- cellThickness: 0.5,
11
- sectionThickness: 1,
12
- cellColor: new Color(),
13
- sectionColor: new Color(),
14
- infiniteGrid: false,
15
- followCamera: false,
16
- worldCamProjPosition: new Vector3(),
17
- worldPlanePosition: new Vector3(),
18
- },
19
- /* language=glsl glsl */ `
20
- varying vec3 localPosition;
21
- varying vec4 worldPosition;
22
-
23
- uniform vec3 worldCamProjPosition;
24
- uniform vec3 worldPlanePosition;
25
- uniform float fadeDistance;
26
- uniform bool infiniteGrid;
27
- uniform bool followCamera;
28
-
29
- void main() {
30
- localPosition = position.xzy;
31
- if (infiniteGrid) localPosition *= 1.0 + fadeDistance;
32
-
33
- worldPosition = modelMatrix * vec4(localPosition, 1.0);
34
- if (followCamera) {
35
- worldPosition.xyz += (worldCamProjPosition - worldPlanePosition);
36
- localPosition = (inverse(modelMatrix) * worldPosition).xyz;
37
- }
38
-
39
- gl_Position = projectionMatrix * viewMatrix * worldPosition;
40
- }
41
- `,
42
- /* language=glsl glsl */ `
43
- varying vec3 localPosition;
44
- varying vec4 worldPosition;
45
-
46
- uniform vec3 worldCamProjPosition;
47
- uniform float cellSize;
48
- uniform float sectionSize;
49
- uniform vec3 cellColor;
50
- uniform vec3 sectionColor;
51
- uniform float fadeDistance;
52
- uniform float fadeStrength;
53
- uniform float fadeFrom;
54
- uniform float cellThickness;
55
- uniform float sectionThickness;
56
-
57
- float getGrid(float size, float thickness) {
58
- vec2 r = localPosition.xz / size;
59
- vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);
60
- float line = min(grid.x, grid.y) + 1.0 - thickness;
61
- return 1.0 - min(line, 1.0);
62
- }
63
-
64
- void main() {
65
- float g1 = getGrid(cellSize, cellThickness);
66
- float g2 = getGrid(sectionSize, sectionThickness);
67
-
68
- vec3 from = worldCamProjPosition*vec3(fadeFrom);
69
- float dist = distance(from, worldPosition.xyz);
70
- float d = 1.0 - min(dist / fadeDistance, 1.0);
71
- vec3 color = mix(cellColor, sectionColor, min(1.0, sectionThickness * g2));
72
-
73
- gl_FragColor = vec4(color, (g1 + g2) * pow(d, fadeStrength));
74
- gl_FragColor.a = mix(0.75 * gl_FragColor.a, gl_FragColor.a, g2);
75
- if (gl_FragColor.a <= 0.0) discard;
76
-
77
- #include <tonemapping_fragment>
78
- #include <${getVersion() >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
79
- }
80
- `);
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tYXRlcmlhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9zaGFkZXJzL3NyYy9saWIvZ3JpZC1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQTZCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQTZCbEUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FDekM7SUFDQyxRQUFRLEVBQUUsR0FBRztJQUNiLFdBQVcsRUFBRSxDQUFDO0lBQ2QsWUFBWSxFQUFFLEdBQUc7SUFDakIsWUFBWSxFQUFFLENBQUM7SUFDZixRQUFRLEVBQUUsQ0FBQztJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGdCQUFnQixFQUFFLENBQUM7SUFDbkIsU0FBUyxFQUFFLElBQUksS0FBSyxFQUFFO0lBQ3RCLFlBQVksRUFBRSxJQUFJLEtBQUssRUFBRTtJQUN6QixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsS0FBSztJQUNuQixvQkFBb0IsRUFBRSxJQUFJLE9BQU8sRUFBRTtJQUNuQyxrQkFBa0IsRUFBRSxJQUFJLE9BQU8sRUFBRTtDQUNqQztBQUNELHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0J2QjtBQUNGLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBb0NSLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjs7R0FFakYsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd0TWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGdldFZlcnNpb24gfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQgeyBzaGFkZXJNYXRlcmlhbCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS92YW5pbGxhLWV4cG9ydHMnO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yUmVwcmVzZW50YXRpb24sIFNpZGUsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZE1hdGVyaWFsT3B0aW9ucyB7XG5cdC8qKiBDZWxsIHNpemUsIGRlZmF1bHQ6IDAuNSAqL1xuXHRjZWxsU2l6ZTogbnVtYmVyO1xuXHQvKiogQ2VsbCB0aGlja25lc3MsIGRlZmF1bHQ6IDAuNSAqL1xuXHRjZWxsVGhpY2tuZXNzOiBudW1iZXI7XG5cdC8qKiBDZWxsIGNvbG9yLCBkZWZhdWx0OiBibGFjayAqL1xuXHRjZWxsQ29sb3I6IENvbG9yUmVwcmVzZW50YXRpb247XG5cdC8qKiBTZWN0aW9uIHNpemUsIGRlZmF1bHQ6IDEgKi9cblx0c2VjdGlvblNpemU6IG51bWJlcjtcblx0LyoqIFNlY3Rpb24gdGhpY2tuZXNzLCBkZWZhdWx0OiAxICovXG5cdHNlY3Rpb25UaGlja25lc3M6IG51bWJlcjtcblx0LyoqIFNlY3Rpb24gY29sb3IsIGRlZmF1bHQ6ICMyMDgwZmYgKi9cblx0c2VjdGlvbkNvbG9yOiBDb2xvclJlcHJlc2VudGF0aW9uO1xuXHQvKiogRm9sbG93IGNhbWVyYSwgZGVmYXVsdDogZmFsc2UgKi9cblx0Zm9sbG93Q2FtZXJhOiBib29sZWFuO1xuXHQvKiogRGlzcGxheSB0aGUgZ3JpZCBpbmZpbml0ZWx5LCBkZWZhdWx0OiBmYWxzZSAqL1xuXHRpbmZpbml0ZUdyaWQ6IGJvb2xlYW47XG5cdC8qKiBGYWRlIGRpc3RhbmNlLCBkZWZhdWx0OiAxMDAgKi9cblx0ZmFkZURpc3RhbmNlOiBudW1iZXI7XG5cdC8qKiBGYWRlIHN0cmVuZ3RoLCBkZWZhdWx0OiAxICovXG5cdGZhZGVTdHJlbmd0aDogbnVtYmVyO1xuXHQvKiogRmFkZSBmcm9tIGNhbWVyYSAoMSkgb3Igb3JpZ2luICgwKSwgb3Igc29tZXdoZXJlIGluIGJldHdlZW4sIGRlZmF1bHQ6IGNhbWVyYSAqL1xuXHRmYWRlRnJvbTogbnVtYmVyO1xuXHQvKiogTWF0ZXJpYWwgc2lkZSwgZGVmYXVsdDogVEhSRUUuQmFja1NpZGUgKi9cblx0c2lkZTogU2lkZTtcbn1cblxuZXhwb3J0IGNvbnN0IEdyaWRNYXRlcmlhbCA9IHNoYWRlck1hdGVyaWFsKFxuXHR7XG5cdFx0Y2VsbFNpemU6IDAuNSxcblx0XHRzZWN0aW9uU2l6ZTogMSxcblx0XHRmYWRlRGlzdGFuY2U6IDEwMCxcblx0XHRmYWRlU3RyZW5ndGg6IDEsXG5cdFx0ZmFkZUZyb206IDEsXG5cdFx0Y2VsbFRoaWNrbmVzczogMC41LFxuXHRcdHNlY3Rpb25UaGlja25lc3M6IDEsXG5cdFx0Y2VsbENvbG9yOiBuZXcgQ29sb3IoKSxcblx0XHRzZWN0aW9uQ29sb3I6IG5ldyBDb2xvcigpLFxuXHRcdGluZmluaXRlR3JpZDogZmFsc2UsXG5cdFx0Zm9sbG93Q2FtZXJhOiBmYWxzZSxcblx0XHR3b3JsZENhbVByb2pQb3NpdGlvbjogbmV3IFZlY3RvcjMoKSxcblx0XHR3b3JsZFBsYW5lUG9zaXRpb246IG5ldyBWZWN0b3IzKCksXG5cdH0sXG5cdC8qIGxhbmd1YWdlPWdsc2wgZ2xzbCAqLyBgXG4gICAgdmFyeWluZyB2ZWMzIGxvY2FsUG9zaXRpb247XG4gICAgdmFyeWluZyB2ZWM0IHdvcmxkUG9zaXRpb247XG5cbiAgICB1bmlmb3JtIHZlYzMgd29ybGRDYW1Qcm9qUG9zaXRpb247XG4gICAgdW5pZm9ybSB2ZWMzIHdvcmxkUGxhbmVQb3NpdGlvbjtcbiAgICB1bmlmb3JtIGZsb2F0IGZhZGVEaXN0YW5jZTtcbiAgICB1bmlmb3JtIGJvb2wgaW5maW5pdGVHcmlkO1xuICAgIHVuaWZvcm0gYm9vbCBmb2xsb3dDYW1lcmE7XG5cbiAgICB2b2lkIG1haW4oKSB7XG4gICAgICBsb2NhbFBvc2l0aW9uID0gcG9zaXRpb24ueHp5O1xuICAgICAgaWYgKGluZmluaXRlR3JpZCkgbG9jYWxQb3NpdGlvbiAqPSAxLjAgKyBmYWRlRGlzdGFuY2U7XG5cbiAgICAgIHdvcmxkUG9zaXRpb24gPSBtb2RlbE1hdHJpeCAqIHZlYzQobG9jYWxQb3NpdGlvbiwgMS4wKTtcbiAgICAgIGlmIChmb2xsb3dDYW1lcmEpIHtcbiAgICAgICAgd29ybGRQb3NpdGlvbi54eXogKz0gKHdvcmxkQ2FtUHJvalBvc2l0aW9uIC0gd29ybGRQbGFuZVBvc2l0aW9uKTtcbiAgICAgICAgbG9jYWxQb3NpdGlvbiA9IChpbnZlcnNlKG1vZGVsTWF0cml4KSAqIHdvcmxkUG9zaXRpb24pLnh5ejtcbiAgICAgIH1cblxuICAgICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogdmlld01hdHJpeCAqIHdvcmxkUG9zaXRpb247XG4gICAgfVxuICBgLFxuXHQvKiBsYW5ndWFnZT1nbHNsIGdsc2wgKi8gYFxuICAgIHZhcnlpbmcgdmVjMyBsb2NhbFBvc2l0aW9uO1xuICAgIHZhcnlpbmcgdmVjNCB3b3JsZFBvc2l0aW9uO1xuXG4gICAgdW5pZm9ybSB2ZWMzIHdvcmxkQ2FtUHJvalBvc2l0aW9uO1xuICAgIHVuaWZvcm0gZmxvYXQgY2VsbFNpemU7XG4gICAgdW5pZm9ybSBmbG9hdCBzZWN0aW9uU2l6ZTtcbiAgICB1bmlmb3JtIHZlYzMgY2VsbENvbG9yO1xuICAgIHVuaWZvcm0gdmVjMyBzZWN0aW9uQ29sb3I7XG4gICAgdW5pZm9ybSBmbG9hdCBmYWRlRGlzdGFuY2U7XG4gICAgdW5pZm9ybSBmbG9hdCBmYWRlU3RyZW5ndGg7XG4gICAgdW5pZm9ybSBmbG9hdCBmYWRlRnJvbTtcbiAgICB1bmlmb3JtIGZsb2F0IGNlbGxUaGlja25lc3M7XG4gICAgdW5pZm9ybSBmbG9hdCBzZWN0aW9uVGhpY2tuZXNzO1xuXG4gICAgZmxvYXQgZ2V0R3JpZChmbG9hdCBzaXplLCBmbG9hdCB0aGlja25lc3MpIHtcbiAgICAgIHZlYzIgciA9IGxvY2FsUG9zaXRpb24ueHogLyBzaXplO1xuICAgICAgdmVjMiBncmlkID0gYWJzKGZyYWN0KHIgLSAwLjUpIC0gMC41KSAvIGZ3aWR0aChyKTtcbiAgICAgIGZsb2F0IGxpbmUgPSBtaW4oZ3JpZC54LCBncmlkLnkpICsgMS4wIC0gdGhpY2tuZXNzO1xuICAgICAgcmV0dXJuIDEuMCAtIG1pbihsaW5lLCAxLjApO1xuICAgIH1cblxuICAgIHZvaWQgbWFpbigpIHtcbiAgICAgIGZsb2F0IGcxID0gZ2V0R3JpZChjZWxsU2l6ZSwgY2VsbFRoaWNrbmVzcyk7XG4gICAgICBmbG9hdCBnMiA9IGdldEdyaWQoc2VjdGlvblNpemUsIHNlY3Rpb25UaGlja25lc3MpO1xuXG4gICAgICB2ZWMzIGZyb20gPSB3b3JsZENhbVByb2pQb3NpdGlvbip2ZWMzKGZhZGVGcm9tKTtcbiAgICAgIGZsb2F0IGRpc3QgPSBkaXN0YW5jZShmcm9tLCB3b3JsZFBvc2l0aW9uLnh5eik7XG4gICAgICBmbG9hdCBkID0gMS4wIC0gbWluKGRpc3QgLyBmYWRlRGlzdGFuY2UsIDEuMCk7XG4gICAgICB2ZWMzIGNvbG9yID0gbWl4KGNlbGxDb2xvciwgc2VjdGlvbkNvbG9yLCBtaW4oMS4wLCBzZWN0aW9uVGhpY2tuZXNzICogZzIpKTtcblxuICAgICAgZ2xfRnJhZ0NvbG9yID0gdmVjNChjb2xvciwgKGcxICsgZzIpICogcG93KGQsIGZhZGVTdHJlbmd0aCkpO1xuICAgICAgZ2xfRnJhZ0NvbG9yLmEgPSBtaXgoMC43NSAqIGdsX0ZyYWdDb2xvci5hLCBnbF9GcmFnQ29sb3IuYSwgZzIpO1xuICAgICAgaWYgKGdsX0ZyYWdDb2xvci5hIDw9IDAuMCkgZGlzY2FyZDtcblxuICAgICAgI2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuICAgICAgI2luY2x1ZGUgPCR7Z2V0VmVyc2lvbigpID49IDE1NCA/ICdjb2xvcnNwYWNlX2ZyYWdtZW50JyA6ICdlbmNvZGluZ3NfZnJhZ21lbnQnfT5cbiAgICB9XG4gIGAsXG4pO1xuXG5leHBvcnQgdHlwZSBOZ3RHcmlkTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxJbnN0YW5jZVR5cGU8dHlwZW9mIEdyaWRNYXRlcmlhbD4sIFtHcmlkTWF0ZXJpYWxPcHRpb25zXT47XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG5cdFx0LyoqXG5cdFx0ICogQGV4dGVuZHMgbmd0LXNoYWRlci1tYXRlcmlhbFxuXHRcdCAqIEBvcHRpb25zIEdyaWRNYXRlcmlhbE9wdGlvbnNcblx0XHQgKi9cblx0XHQnbmd0LWdyaWQtbWF0ZXJpYWwnOiBOZ3RHcmlkTWF0ZXJpYWw7XG5cdH1cbn1cbiJdfQ==
@@ -1,163 +0,0 @@
1
- import { getVersion } from 'angular-three-soba/misc';
2
- import { shaderMaterial } from 'angular-three-soba/vanilla-exports';
3
- import * as THREE from 'three';
4
- import { MeshBVHUniformStruct, shaderIntersectFunction, shaderStructs } from 'three-mesh-bvh';
5
- export const MeshRefractionMaterial = shaderMaterial({
6
- envMap: null,
7
- bounces: 3,
8
- ior: 2.4,
9
- correctMips: true,
10
- aberrationStrength: 0.01,
11
- fresnel: 0,
12
- // @ts-expect-error - UniformValue from pmndrs/vanilla does not include MeshBVHUniformStruct
13
- bvh: new MeshBVHUniformStruct(),
14
- color: new THREE.Color('white'),
15
- opacity: 1,
16
- resolution: new THREE.Vector2(),
17
- viewMatrixInverse: new THREE.Matrix4(),
18
- projectionMatrixInverse: new THREE.Matrix4(),
19
- },
20
- /* language=glsl glsl */ `
21
- uniform mat4 viewMatrixInverse;
22
-
23
- varying vec3 vWorldPosition;
24
- varying vec3 vNormal;
25
- varying mat4 vModelMatrixInverse;
26
-
27
- #include <color_pars_vertex>
28
-
29
- void main() {
30
- #include <color_vertex>
31
-
32
- vec4 transformedNormal = vec4(normal, 0.0);
33
- vec4 transformedPosition = vec4(position, 1.0);
34
- #ifdef USE_INSTANCING
35
- transformedNormal = instanceMatrix * transformedNormal;
36
- transformedPosition = instanceMatrix * transformedPosition;
37
- #endif
38
-
39
- #ifdef USE_INSTANCING
40
- vModelMatrixInverse = inverse(modelMatrix * instanceMatrix);
41
- #else
42
- vModelMatrixInverse = inverse(modelMatrix);
43
- #endif
44
-
45
- vWorldPosition = (modelMatrix * transformedPosition).xyz;
46
- vNormal = normalize((viewMatrixInverse * vec4(normalMatrix * transformedNormal.xyz, 0.0)).xyz);
47
- gl_Position = projectionMatrix * viewMatrix * modelMatrix * transformedPosition;
48
- }`,
49
- /* language=glsl glsl */ `
50
- #define ENVMAP_TYPE_CUBE_UV
51
- precision highp isampler2D;
52
- precision highp usampler2D;
53
- varying vec3 vWorldPosition;
54
- varying vec3 vNormal;
55
- varying mat4 vModelMatrixInverse;
56
-
57
- #include <color_pars_fragment>
58
-
59
- #ifdef ENVMAP_TYPE_CUBEM
60
- uniform samplerCube envMap;
61
- #else
62
- uniform sampler2D envMap;
63
- #endif
64
-
65
- uniform float bounces;
66
- ${shaderStructs}
67
- ${shaderIntersectFunction}
68
- uniform BVH bvh;
69
- uniform float ior;
70
- uniform bool correctMips;
71
- uniform vec2 resolution;
72
- uniform float fresnel;
73
- uniform mat4 modelMatrix;
74
- uniform mat4 projectionMatrixInverse;
75
- uniform mat4 viewMatrixInverse;
76
- uniform float aberrationStrength;
77
- uniform vec3 color;
78
- uniform float opacity;
79
-
80
- float fresnelFunc(vec3 viewDirection, vec3 worldNormal) {
81
- return pow( 1.0 + dot( viewDirection, worldNormal), 10.0 );
82
- }
83
-
84
- vec3 totalInternalReflection(vec3 ro, vec3 rd, vec3 normal, float ior, mat4 modelMatrixInverse) {
85
- vec3 rayOrigin = ro;
86
- vec3 rayDirection = rd;
87
- rayDirection = refract(rayDirection, normal, 1.0 / ior);
88
- rayOrigin = vWorldPosition + rayDirection * 0.001;
89
- rayOrigin = (modelMatrixInverse * vec4(rayOrigin, 1.0)).xyz;
90
- rayDirection = normalize((modelMatrixInverse * vec4(rayDirection, 0.0)).xyz);
91
- for(float i = 0.0; i < bounces; i++) {
92
- uvec4 faceIndices = uvec4( 0u );
93
- vec3 faceNormal = vec3( 0.0, 0.0, 1.0 );
94
- vec3 barycoord = vec3( 0.0 );
95
- float side = 1.0;
96
- float dist = 0.0;
97
- bvhIntersectFirstHit( bvh, rayOrigin, rayDirection, faceIndices, faceNormal, barycoord, side, dist );
98
- vec3 hitPos = rayOrigin + rayDirection * max(dist - 0.001, 0.0);
99
- vec3 tempDir = refract(rayDirection, faceNormal, ior);
100
- if (length(tempDir) != 0.0) {
101
- rayDirection = tempDir;
102
- break;
103
- }
104
- rayDirection = reflect(rayDirection, faceNormal);
105
- rayOrigin = hitPos + rayDirection * 0.01;
106
- }
107
- rayDirection = normalize((modelMatrix * vec4(rayDirection, 0.0)).xyz);
108
- return rayDirection;
109
- }
110
-
111
- #include <common>
112
- #include <cube_uv_reflection_fragment>
113
-
114
- #ifdef ENVMAP_TYPE_CUBEM
115
- vec4 textureGradient(samplerCube envMap, vec3 rayDirection, vec3 directionCamPerfect) {
116
- return textureGrad(envMap, rayDirection, dFdx(correctMips ? directionCamPerfect: rayDirection), dFdy(correctMips ? directionCamPerfect: rayDirection));
117
- }
118
- #else
119
- vec4 textureGradient(sampler2D envMap, vec3 rayDirection, vec3 directionCamPerfect) {
120
- vec2 uvv = equirectUv( rayDirection );
121
- vec2 smoothUv = equirectUv( directionCamPerfect );
122
- return textureGrad(envMap, uvv, dFdx(correctMips ? smoothUv : uvv), dFdy(correctMips ? smoothUv : uvv));
123
- }
124
- #endif
125
-
126
- void main() {
127
- vec2 uv = gl_FragCoord.xy / resolution;
128
- vec3 directionCamPerfect = (projectionMatrixInverse * vec4(uv * 2.0 - 1.0, 0.0, 1.0)).xyz;
129
- directionCamPerfect = (viewMatrixInverse * vec4(directionCamPerfect, 0.0)).xyz;
130
- directionCamPerfect = normalize(directionCamPerfect);
131
- vec3 normal = vNormal;
132
- vec3 rayOrigin = cameraPosition;
133
- vec3 rayDirection = normalize(vWorldPosition - cameraPosition);
134
-
135
- vec4 diffuseColor = vec4(color, opacity);
136
- #include <color_fragment>
137
-
138
- #ifdef CHROMATIC_ABERRATIONS
139
- vec3 rayDirectionG = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior, 1.0), vModelMatrixInverse);
140
- #ifdef FAST_CHROMA
141
- vec3 rayDirectionR = normalize(rayDirectionG + 1.0 * vec3(aberrationStrength / 2.0));
142
- vec3 rayDirectionB = normalize(rayDirectionG - 1.0 * vec3(aberrationStrength / 2.0));
143
- #else
144
- vec3 rayDirectionR = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior * (1.0 - aberrationStrength), 1.0), vModelMatrixInverse);
145
- vec3 rayDirectionB = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior * (1.0 + aberrationStrength), 1.0), vModelMatrixInverse);
146
- #endif
147
- float finalColorR = textureGradient(envMap, rayDirectionR, directionCamPerfect).r;
148
- float finalColorG = textureGradient(envMap, rayDirectionG, directionCamPerfect).g;
149
- float finalColorB = textureGradient(envMap, rayDirectionB, directionCamPerfect).b;
150
- diffuseColor.rgb *= vec3(finalColorR, finalColorG, finalColorB);
151
- #else
152
- rayDirection = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior, 1.0), vModelMatrixInverse);
153
- diffuseColor.rgb *= textureGradient(envMap, rayDirection, directionCamPerfect).rgb;
154
- #endif
155
-
156
- vec3 viewDirection = normalize(vWorldPosition - cameraPosition);
157
- float nFresnel = fresnelFunc(viewDirection, normal) * fresnel;
158
- gl_FragColor = vec4(mix(diffuseColor.rgb, vec3(1.0), nFresnel), diffuseColor.a);
159
-
160
- #include <tonemapping_fragment>
161
- #include <${getVersion() >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
162
- }`);
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC1yZWZyYWN0aW9uLW1hdGVyaWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL3NoYWRlcnMvc3JjL2xpYi9tZXNoLXJlZnJhY3Rpb24tbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUNuRDtJQUNDLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLENBQUM7SUFDVixHQUFHLEVBQUUsR0FBRztJQUNSLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsT0FBTyxFQUFFLENBQUM7SUFDViw0RkFBNEY7SUFDNUYsR0FBRyxFQUFFLElBQUksb0JBQW9CLEVBQUU7SUFDL0IsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDL0IsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO0lBQy9CLGlCQUFpQixFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtJQUN0Qyx1QkFBdUIsRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Q0FDNUM7QUFDRCx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQTRCdEI7QUFDSCx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQnRCLGFBQWE7SUFDYix1QkFBdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0JBOEZYLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtJQUM5RSxDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRWZXJzaW9uIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgc2hhZGVyTWF0ZXJpYWwgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvdmFuaWxsYS1leHBvcnRzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE1lc2hCVkhVbmlmb3JtU3RydWN0LCBzaGFkZXJJbnRlcnNlY3RGdW5jdGlvbiwgc2hhZGVyU3RydWN0cyB9IGZyb20gJ3RocmVlLW1lc2gtYnZoJztcblxuZXhwb3J0IGNvbnN0IE1lc2hSZWZyYWN0aW9uTWF0ZXJpYWwgPSBzaGFkZXJNYXRlcmlhbChcblx0e1xuXHRcdGVudk1hcDogbnVsbCxcblx0XHRib3VuY2VzOiAzLFxuXHRcdGlvcjogMi40LFxuXHRcdGNvcnJlY3RNaXBzOiB0cnVlLFxuXHRcdGFiZXJyYXRpb25TdHJlbmd0aDogMC4wMSxcblx0XHRmcmVzbmVsOiAwLFxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBVbmlmb3JtVmFsdWUgZnJvbSBwbW5kcnMvdmFuaWxsYSBkb2VzIG5vdCBpbmNsdWRlIE1lc2hCVkhVbmlmb3JtU3RydWN0XG5cdFx0YnZoOiBuZXcgTWVzaEJWSFVuaWZvcm1TdHJ1Y3QoKSxcblx0XHRjb2xvcjogbmV3IFRIUkVFLkNvbG9yKCd3aGl0ZScpLFxuXHRcdG9wYWNpdHk6IDEsXG5cdFx0cmVzb2x1dGlvbjogbmV3IFRIUkVFLlZlY3RvcjIoKSxcblx0XHR2aWV3TWF0cml4SW52ZXJzZTogbmV3IFRIUkVFLk1hdHJpeDQoKSxcblx0XHRwcm9qZWN0aW9uTWF0cml4SW52ZXJzZTogbmV3IFRIUkVFLk1hdHJpeDQoKSxcblx0fSxcblx0LyogbGFuZ3VhZ2U9Z2xzbCBnbHNsICovIGBcbiAgdW5pZm9ybSBtYXQ0IHZpZXdNYXRyaXhJbnZlcnNlO1xuXG4gIHZhcnlpbmcgdmVjMyB2V29ybGRQb3NpdGlvbjtcbiAgdmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4gIHZhcnlpbmcgbWF0NCB2TW9kZWxNYXRyaXhJbnZlcnNlO1xuXG4gICNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cblxuICB2b2lkIG1haW4oKSB7XG4gICAgI2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblxuICAgIHZlYzQgdHJhbnNmb3JtZWROb3JtYWwgPSB2ZWM0KG5vcm1hbCwgMC4wKTtcbiAgICB2ZWM0IHRyYW5zZm9ybWVkUG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uLCAxLjApO1xuICAgICNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuICAgICAgdHJhbnNmb3JtZWROb3JtYWwgPSBpbnN0YW5jZU1hdHJpeCAqIHRyYW5zZm9ybWVkTm9ybWFsO1xuICAgICAgdHJhbnNmb3JtZWRQb3NpdGlvbiA9IGluc3RhbmNlTWF0cml4ICogdHJhbnNmb3JtZWRQb3NpdGlvbjtcbiAgICAjZW5kaWZcblxuICAgICNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuICAgICAgdk1vZGVsTWF0cml4SW52ZXJzZSA9IGludmVyc2UobW9kZWxNYXRyaXggKiBpbnN0YW5jZU1hdHJpeCk7XG4gICAgI2Vsc2VcbiAgICAgIHZNb2RlbE1hdHJpeEludmVyc2UgPSBpbnZlcnNlKG1vZGVsTWF0cml4KTtcbiAgICAjZW5kaWZcblxuICAgIHZXb3JsZFBvc2l0aW9uID0gKG1vZGVsTWF0cml4ICogdHJhbnNmb3JtZWRQb3NpdGlvbikueHl6O1xuICAgIHZOb3JtYWwgPSBub3JtYWxpemUoKHZpZXdNYXRyaXhJbnZlcnNlICogdmVjNChub3JtYWxNYXRyaXggKiB0cmFuc2Zvcm1lZE5vcm1hbC54eXosIDAuMCkpLnh5eik7XG4gICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogdmlld01hdHJpeCAqIG1vZGVsTWF0cml4ICogdHJhbnNmb3JtZWRQb3NpdGlvbjtcbiAgfWAsXG5cdC8qIGxhbmd1YWdlPWdsc2wgZ2xzbCAqLyBgXG4gICNkZWZpbmUgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuICBwcmVjaXNpb24gaGlnaHAgaXNhbXBsZXIyRDtcbiAgcHJlY2lzaW9uIGhpZ2hwIHVzYW1wbGVyMkQ7XG4gIHZhcnlpbmcgdmVjMyB2V29ybGRQb3NpdGlvbjtcbiAgdmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4gIHZhcnlpbmcgbWF0NCB2TW9kZWxNYXRyaXhJbnZlcnNlO1xuXG4gICNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuXG4gICNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFTVxuICAgIHVuaWZvcm0gc2FtcGxlckN1YmUgZW52TWFwO1xuICAjZWxzZVxuICAgIHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcbiAgI2VuZGlmXG5cbiAgdW5pZm9ybSBmbG9hdCBib3VuY2VzO1xuICAke3NoYWRlclN0cnVjdHN9XG4gICR7c2hhZGVySW50ZXJzZWN0RnVuY3Rpb259XG4gIHVuaWZvcm0gQlZIIGJ2aDtcbiAgdW5pZm9ybSBmbG9hdCBpb3I7XG4gIHVuaWZvcm0gYm9vbCBjb3JyZWN0TWlwcztcbiAgdW5pZm9ybSB2ZWMyIHJlc29sdXRpb247XG4gIHVuaWZvcm0gZmxvYXQgZnJlc25lbDtcbiAgdW5pZm9ybSBtYXQ0IG1vZGVsTWF0cml4O1xuICB1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeEludmVyc2U7XG4gIHVuaWZvcm0gbWF0NCB2aWV3TWF0cml4SW52ZXJzZTtcbiAgdW5pZm9ybSBmbG9hdCBhYmVycmF0aW9uU3RyZW5ndGg7XG4gIHVuaWZvcm0gdmVjMyBjb2xvcjtcbiAgdW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuXG4gIGZsb2F0IGZyZXNuZWxGdW5jKHZlYzMgdmlld0RpcmVjdGlvbiwgdmVjMyB3b3JsZE5vcm1hbCkge1xuICAgIHJldHVybiBwb3coIDEuMCArIGRvdCggdmlld0RpcmVjdGlvbiwgd29ybGROb3JtYWwpLCAxMC4wICk7XG4gIH1cblxuICB2ZWMzIHRvdGFsSW50ZXJuYWxSZWZsZWN0aW9uKHZlYzMgcm8sIHZlYzMgcmQsIHZlYzMgbm9ybWFsLCBmbG9hdCBpb3IsIG1hdDQgbW9kZWxNYXRyaXhJbnZlcnNlKSB7XG4gICAgdmVjMyByYXlPcmlnaW4gPSBybztcbiAgICB2ZWMzIHJheURpcmVjdGlvbiA9IHJkO1xuICAgIHJheURpcmVjdGlvbiA9IHJlZnJhY3QocmF5RGlyZWN0aW9uLCBub3JtYWwsIDEuMCAvIGlvcik7XG4gICAgcmF5T3JpZ2luID0gdldvcmxkUG9zaXRpb24gKyByYXlEaXJlY3Rpb24gKiAwLjAwMTtcbiAgICByYXlPcmlnaW4gPSAobW9kZWxNYXRyaXhJbnZlcnNlICogdmVjNChyYXlPcmlnaW4sIDEuMCkpLnh5ejtcbiAgICByYXlEaXJlY3Rpb24gPSBub3JtYWxpemUoKG1vZGVsTWF0cml4SW52ZXJzZSAqIHZlYzQocmF5RGlyZWN0aW9uLCAwLjApKS54eXopO1xuICAgIGZvcihmbG9hdCBpID0gMC4wOyBpIDwgYm91bmNlczsgaSsrKSB7XG4gICAgICB1dmVjNCBmYWNlSW5kaWNlcyA9IHV2ZWM0KCAwdSApO1xuICAgICAgdmVjMyBmYWNlTm9ybWFsID0gdmVjMyggMC4wLCAwLjAsIDEuMCApO1xuICAgICAgdmVjMyBiYXJ5Y29vcmQgPSB2ZWMzKCAwLjAgKTtcbiAgICAgIGZsb2F0IHNpZGUgPSAxLjA7XG4gICAgICBmbG9hdCBkaXN0ID0gMC4wO1xuICAgICAgYnZoSW50ZXJzZWN0Rmlyc3RIaXQoIGJ2aCwgcmF5T3JpZ2luLCByYXlEaXJlY3Rpb24sIGZhY2VJbmRpY2VzLCBmYWNlTm9ybWFsLCBiYXJ5Y29vcmQsIHNpZGUsIGRpc3QgKTtcbiAgICAgIHZlYzMgaGl0UG9zID0gcmF5T3JpZ2luICsgcmF5RGlyZWN0aW9uICogbWF4KGRpc3QgLSAwLjAwMSwgMC4wKTtcbiAgICAgIHZlYzMgdGVtcERpciA9IHJlZnJhY3QocmF5RGlyZWN0aW9uLCBmYWNlTm9ybWFsLCBpb3IpO1xuICAgICAgaWYgKGxlbmd0aCh0ZW1wRGlyKSAhPSAwLjApIHtcbiAgICAgICAgcmF5RGlyZWN0aW9uID0gdGVtcERpcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByYXlEaXJlY3Rpb24gPSByZWZsZWN0KHJheURpcmVjdGlvbiwgZmFjZU5vcm1hbCk7XG4gICAgICByYXlPcmlnaW4gPSBoaXRQb3MgKyByYXlEaXJlY3Rpb24gKiAwLjAxO1xuICAgIH1cbiAgICByYXlEaXJlY3Rpb24gPSBub3JtYWxpemUoKG1vZGVsTWF0cml4ICogdmVjNChyYXlEaXJlY3Rpb24sIDAuMCkpLnh5eik7XG4gICAgcmV0dXJuIHJheURpcmVjdGlvbjtcbiAgfVxuXG4gICNpbmNsdWRlIDxjb21tb24+XG4gICNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG5cbiAgI2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVNXG4gICAgdmVjNCB0ZXh0dXJlR3JhZGllbnQoc2FtcGxlckN1YmUgZW52TWFwLCB2ZWMzIHJheURpcmVjdGlvbiwgdmVjMyBkaXJlY3Rpb25DYW1QZXJmZWN0KSB7XG4gICAgICByZXR1cm4gdGV4dHVyZUdyYWQoZW52TWFwLCByYXlEaXJlY3Rpb24sIGRGZHgoY29ycmVjdE1pcHMgPyBkaXJlY3Rpb25DYW1QZXJmZWN0OiByYXlEaXJlY3Rpb24pLCBkRmR5KGNvcnJlY3RNaXBzID8gZGlyZWN0aW9uQ2FtUGVyZmVjdDogcmF5RGlyZWN0aW9uKSk7XG4gICAgfVxuICAjZWxzZVxuICAgIHZlYzQgdGV4dHVyZUdyYWRpZW50KHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgcmF5RGlyZWN0aW9uLCB2ZWMzIGRpcmVjdGlvbkNhbVBlcmZlY3QpIHtcbiAgICAgIHZlYzIgdXZ2ID0gZXF1aXJlY3RVdiggcmF5RGlyZWN0aW9uICk7XG4gICAgICB2ZWMyIHNtb290aFV2ID0gZXF1aXJlY3RVdiggZGlyZWN0aW9uQ2FtUGVyZmVjdCApO1xuICAgICAgcmV0dXJuIHRleHR1cmVHcmFkKGVudk1hcCwgdXZ2LCBkRmR4KGNvcnJlY3RNaXBzID8gc21vb3RoVXYgOiB1dnYpLCBkRmR5KGNvcnJlY3RNaXBzID8gc21vb3RoVXYgOiB1dnYpKTtcbiAgICB9XG4gICNlbmRpZlxuXG4gIHZvaWQgbWFpbigpIHtcbiAgICB2ZWMyIHV2ID0gZ2xfRnJhZ0Nvb3JkLnh5IC8gcmVzb2x1dGlvbjtcbiAgICB2ZWMzIGRpcmVjdGlvbkNhbVBlcmZlY3QgPSAocHJvamVjdGlvbk1hdHJpeEludmVyc2UgKiB2ZWM0KHV2ICogMi4wIC0gMS4wLCAwLjAsIDEuMCkpLnh5ejtcbiAgICBkaXJlY3Rpb25DYW1QZXJmZWN0ID0gKHZpZXdNYXRyaXhJbnZlcnNlICogdmVjNChkaXJlY3Rpb25DYW1QZXJmZWN0LCAwLjApKS54eXo7XG4gICAgZGlyZWN0aW9uQ2FtUGVyZmVjdCA9IG5vcm1hbGl6ZShkaXJlY3Rpb25DYW1QZXJmZWN0KTtcbiAgICB2ZWMzIG5vcm1hbCA9IHZOb3JtYWw7XG4gICAgdmVjMyByYXlPcmlnaW4gPSBjYW1lcmFQb3NpdGlvbjtcbiAgICB2ZWMzIHJheURpcmVjdGlvbiA9IG5vcm1hbGl6ZSh2V29ybGRQb3NpdGlvbiAtIGNhbWVyYVBvc2l0aW9uKTtcblxuICAgIHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNChjb2xvciwgb3BhY2l0eSk7XG4gICAgI2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXG4gICAgI2lmZGVmIENIUk9NQVRJQ19BQkVSUkFUSU9OU1xuICAgICAgdmVjMyByYXlEaXJlY3Rpb25HID0gdG90YWxJbnRlcm5hbFJlZmxlY3Rpb24ocmF5T3JpZ2luLCByYXlEaXJlY3Rpb24sIG5vcm1hbCwgbWF4KGlvciwgMS4wKSwgdk1vZGVsTWF0cml4SW52ZXJzZSk7XG4gICAgICAjaWZkZWYgRkFTVF9DSFJPTUFcbiAgICAgICAgdmVjMyByYXlEaXJlY3Rpb25SID0gbm9ybWFsaXplKHJheURpcmVjdGlvbkcgKyAxLjAgKiB2ZWMzKGFiZXJyYXRpb25TdHJlbmd0aCAvIDIuMCkpO1xuICAgICAgICB2ZWMzIHJheURpcmVjdGlvbkIgPSBub3JtYWxpemUocmF5RGlyZWN0aW9uRyAtIDEuMCAqIHZlYzMoYWJlcnJhdGlvblN0cmVuZ3RoIC8gMi4wKSk7XG4gICAgICAjZWxzZVxuICAgICAgICB2ZWMzIHJheURpcmVjdGlvblIgPSB0b3RhbEludGVybmFsUmVmbGVjdGlvbihyYXlPcmlnaW4sIHJheURpcmVjdGlvbiwgbm9ybWFsLCBtYXgoaW9yICogKDEuMCAtIGFiZXJyYXRpb25TdHJlbmd0aCksIDEuMCksIHZNb2RlbE1hdHJpeEludmVyc2UpO1xuICAgICAgICB2ZWMzIHJheURpcmVjdGlvbkIgPSB0b3RhbEludGVybmFsUmVmbGVjdGlvbihyYXlPcmlnaW4sIHJheURpcmVjdGlvbiwgbm9ybWFsLCBtYXgoaW9yICogKDEuMCArIGFiZXJyYXRpb25TdHJlbmd0aCksIDEuMCksIHZNb2RlbE1hdHJpeEludmVyc2UpO1xuICAgICAgI2VuZGlmXG4gICAgICBmbG9hdCBmaW5hbENvbG9yUiA9IHRleHR1cmVHcmFkaWVudChlbnZNYXAsIHJheURpcmVjdGlvblIsIGRpcmVjdGlvbkNhbVBlcmZlY3QpLnI7XG4gICAgICBmbG9hdCBmaW5hbENvbG9yRyA9IHRleHR1cmVHcmFkaWVudChlbnZNYXAsIHJheURpcmVjdGlvbkcsIGRpcmVjdGlvbkNhbVBlcmZlY3QpLmc7XG4gICAgICBmbG9hdCBmaW5hbENvbG9yQiA9IHRleHR1cmVHcmFkaWVudChlbnZNYXAsIHJheURpcmVjdGlvbkIsIGRpcmVjdGlvbkNhbVBlcmZlY3QpLmI7XG4gICAgICBkaWZmdXNlQ29sb3IucmdiICo9IHZlYzMoZmluYWxDb2xvclIsIGZpbmFsQ29sb3JHLCBmaW5hbENvbG9yQik7XG4gICAgI2Vsc2VcbiAgICAgIHJheURpcmVjdGlvbiA9IHRvdGFsSW50ZXJuYWxSZWZsZWN0aW9uKHJheU9yaWdpbiwgcmF5RGlyZWN0aW9uLCBub3JtYWwsIG1heChpb3IsIDEuMCksIHZNb2RlbE1hdHJpeEludmVyc2UpO1xuICAgICAgZGlmZnVzZUNvbG9yLnJnYiAqPSB0ZXh0dXJlR3JhZGllbnQoZW52TWFwLCByYXlEaXJlY3Rpb24sIGRpcmVjdGlvbkNhbVBlcmZlY3QpLnJnYjtcbiAgICAjZW5kaWZcblxuICAgIHZlYzMgdmlld0RpcmVjdGlvbiA9IG5vcm1hbGl6ZSh2V29ybGRQb3NpdGlvbiAtIGNhbWVyYVBvc2l0aW9uKTtcbiAgICBmbG9hdCBuRnJlc25lbCA9IGZyZXNuZWxGdW5jKHZpZXdEaXJlY3Rpb24sIG5vcm1hbCkgKiBmcmVzbmVsO1xuICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQobWl4KGRpZmZ1c2VDb2xvci5yZ2IsIHZlYzMoMS4wKSwgbkZyZXNuZWwpLCBkaWZmdXNlQ29sb3IuYSk7XG5cbiAgICAjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG4gICAgI2luY2x1ZGUgPCR7Z2V0VmVyc2lvbigpID49IDE1NCA/ICdjb2xvcnNwYWNlX2ZyYWdtZW50JyA6ICdlbmNvZGluZ3NfZnJhZ21lbnQnfT5cbiAgfWAsXG4pO1xuIl19
@@ -1,24 +0,0 @@
1
- import { getVersion } from 'angular-three-soba/misc';
2
- import { PointsMaterial } from 'three';
3
- const opaque_fragment = getVersion() >= 154 ? 'opaque_fragment' : 'output_fragment';
4
- export class PointMaterial extends PointsMaterial {
5
- constructor(props) {
6
- super(props);
7
- this.onBeforeCompile = (shader, renderer) => {
8
- const { isWebGL2 } = renderer.capabilities;
9
- shader.fragmentShader = shader.fragmentShader.replace(`#include <${opaque_fragment}>`, `
10
- ${!isWebGL2
11
- ? `#extension GL_OES_standard_derivatives : enable\n#include <${opaque_fragment}>`
12
- : `#include <${opaque_fragment}>`}
13
- vec2 cxy = 2.0 * gl_PointCoord - 1.0;
14
- float r = dot(cxy, cxy);
15
- float delta = fwidth(r);
16
- float mask = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
17
- gl_FragColor = vec4(gl_FragColor.rgb, mask * gl_FragColor.a );
18
- #include <tonemapping_fragment>
19
- #include <${getVersion() >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>
20
- `);
21
- };
22
- }
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc2hhZGVycy9zcmMvbGliL3BvaW50LW1hdGVyaWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUE0QixNQUFNLE9BQU8sQ0FBQztBQUVqRSxNQUFNLGVBQWUsR0FBRyxVQUFVLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUVwRixNQUFNLE9BQU8sYUFBYyxTQUFRLGNBQWM7SUFDaEQsWUFBWSxLQUErQjtRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzNDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQ3BELGFBQWEsZUFBZSxHQUFHLEVBQy9CO1VBRUMsQ0FBQyxRQUFRO2dCQUNSLENBQUMsQ0FBQyw4REFBOEQsZUFBZSxHQUFHO2dCQUNsRixDQUFDLENBQUMsYUFBYSxlQUFlLEdBQ2hDOzs7Ozs7O2tCQU9jLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtPQUM3RSxDQUNILENBQUM7UUFDSCxDQUFDLENBQUM7SUFDSCxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3RNYXRlcmlhbCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9taXNjJztcbmltcG9ydCB7IFBvaW50c01hdGVyaWFsLCBQb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMgfSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IG9wYXF1ZV9mcmFnbWVudCA9IGdldFZlcnNpb24oKSA+PSAxNTQgPyAnb3BhcXVlX2ZyYWdtZW50JyA6ICdvdXRwdXRfZnJhZ21lbnQnO1xuXG5leHBvcnQgY2xhc3MgUG9pbnRNYXRlcmlhbCBleHRlbmRzIFBvaW50c01hdGVyaWFsIHtcblx0Y29uc3RydWN0b3IocHJvcHM6IFBvaW50c01hdGVyaWFsUGFyYW1ldGVycykge1xuXHRcdHN1cGVyKHByb3BzKTtcblx0XHR0aGlzLm9uQmVmb3JlQ29tcGlsZSA9IChzaGFkZXIsIHJlbmRlcmVyKSA9PiB7XG5cdFx0XHRjb25zdCB7IGlzV2ViR0wyIH0gPSByZW5kZXJlci5jYXBhYmlsaXRpZXM7XG5cdFx0XHRzaGFkZXIuZnJhZ21lbnRTaGFkZXIgPSBzaGFkZXIuZnJhZ21lbnRTaGFkZXIucmVwbGFjZShcblx0XHRcdFx0YCNpbmNsdWRlIDwke29wYXF1ZV9mcmFnbWVudH0+YCxcblx0XHRcdFx0YFxuICAgICAgICAke1xuXHRcdFx0XHRcdCFpc1dlYkdMMlxuXHRcdFx0XHRcdFx0PyBgI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcXG4jaW5jbHVkZSA8JHtvcGFxdWVfZnJhZ21lbnR9PmBcblx0XHRcdFx0XHRcdDogYCNpbmNsdWRlIDwke29wYXF1ZV9mcmFnbWVudH0+YFxuXHRcdFx0XHR9XG4gICAgICB2ZWMyIGN4eSA9IDIuMCAqIGdsX1BvaW50Q29vcmQgLSAxLjA7XG4gICAgICBmbG9hdCByID0gZG90KGN4eSwgY3h5KTtcbiAgICAgIGZsb2F0IGRlbHRhID0gZndpZHRoKHIpO1xuICAgICAgZmxvYXQgbWFzayA9IDEuMCAtIHNtb290aHN0ZXAoMS4wIC0gZGVsdGEsIDEuMCArIGRlbHRhLCByKTtcbiAgICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoZ2xfRnJhZ0NvbG9yLnJnYiwgbWFzayAqIGdsX0ZyYWdDb2xvci5hICk7XG4gICAgICAjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG4gICAgICAjaW5jbHVkZSA8JHtnZXRWZXJzaW9uKCkgPj0gMTU0ID8gJ2NvbG9yc3BhY2VfZnJhZ21lbnQnIDogJ2VuY29kaW5nc19mcmFnbWVudCd9PlxuICAgICAgYCxcblx0XHRcdCk7XG5cdFx0fTtcblx0fVxufVxuXG5leHBvcnQgdHlwZSBOZ3RQb2ludE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8UG9pbnRNYXRlcmlhbCwgW1BvaW50c01hdGVyaWFsUGFyYW1ldGVyc10+O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIG5ndC1wb2ludHMtbWF0ZXJpYWxcblx0XHQgKi9cblx0XHQnbmd0LXBvaW50LW1hdGVyaWFsJzogTmd0UG9pbnRNYXRlcmlhbDtcblx0fVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1zb2JhLXN0YWdpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvYW5ndWxhci10aHJlZS1zb2JhLXN0YWdpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,21 +0,0 @@
1
- export * from './lib/accumulative-shadows';
2
- export * from './lib/backdrop';
3
- export * from './lib/bb-anchor';
4
- export * from './lib/bounds';
5
- export * from './lib/camera-shake';
6
- export * from './lib/caustics';
7
- export * from './lib/center';
8
- export * from './lib/contact-shadows';
9
- export * from './lib/environment/environment';
10
- export * from './lib/environment/inject-environment';
11
- export * from './lib/float';
12
- export * from './lib/lightformer';
13
- export * from './lib/mask';
14
- export * from './lib/matcap-texture';
15
- export * from './lib/normal-texture';
16
- export * from './lib/randomized-lights';
17
- export * from './lib/render-texture';
18
- export * from './lib/sky';
19
- export { NgtsSpotLight, NgtsSpotLightShadow } from './lib/spot-light';
20
- export * from './lib/stage';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvc3RhZ2luZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUF3QixtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVGLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYWNjdW11bGF0aXZlLXNoYWRvd3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFja2Ryb3AnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmItYW5jaG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JvdW5kcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYW1lcmEtc2hha2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2F1c3RpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2VudGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRhY3Qtc2hhZG93cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudC9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudC9pbmplY3QtZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmxvYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlnaHRmb3JtZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFzayc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXRjYXAtdGV4dHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3JtYWwtdGV4dHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yYW5kb21pemVkLWxpZ2h0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZW5kZXItdGV4dHVyZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9za3knO1xuZXhwb3J0IHsgTmd0c1Nwb3RMaWdodCwgTmd0c1Nwb3RMaWdodE9wdGlvbnMsIE5ndHNTcG90TGlnaHRTaGFkb3cgfSBmcm9tICcuL2xpYi9zcG90LWxpZ2h0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YWdlJztcbiJdfQ==