@takram/three-geospatial 0.0.1-alpha.7 → 0.0.1-alpha.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/ArrayBufferLoader.ts","../src/assertions.ts","../src/bufferGeometry.ts","../src/constants.ts","../src/typedArray.ts","../src/typedArrayParsers.ts","../src/TypedArrayLoader.ts","../src/DataLoader.ts","../src/defineShorthand.ts","../src/math.ts","../src/PointOfView.ts","../src/Rectangle.ts","../src/resolveIncludes.ts","../src/STBNLoader.ts","../src/TileCoordinate.ts","../src/TilingScheme.ts","../src/unrollLoops.ts"],"sourcesContent":null,"names":["isProduction","prefix","invariant","condition","message","value","ArrayBufferLoader","Loader","url","onLoad","onProgress","onError","loader","FileLoader","arrayBuffer","error","assertType","toBufferGeometryLike","geometry","attributes","index","boundingBox","boundingSphere","attribute","_a","buffer","fromBufferGeometryLike","input","result","BufferGeometry","name","BufferAttribute","min","max","Box3","Vector3","center","radius","Sphere","STBN_TEXTURE_WIDTH","STBN_TEXTURE_HEIGHT","STBN_TEXTURE_DEPTH","DEFAULT_STBN_URL","getTypedArrayElementType","array","type","hostLittleEndian","isHostLittleEndian","a","parseTypedArray","TypedArray","getValue","littleEndian","data","byteIndex","parseUint8Array","parseInt8Array","parseUint16Array","parseInt16Array","parseInt32Array","parseUint32Array","parseFloat32Array","parseFloat64Array","TypedArrayLoader","createTypedArrayLoaderClass","parser","__publicField","createTypedArrayLoader","Int16ArrayLoader","Uint16ArrayLoader","Float32ArrayLoader","defaultDataTextureParameter","RGBAFormat","ClampToEdgeWrapping","LinearFilter","DataLoader","texture","width","height","depth","params","UnsignedByteType","ByteType","FloatType","createDataLoaderClass","Texture","parameters","createData3DTextureLoaderClass","Data3DTexture","createDataTextureLoaderClass","DataTexture","createData3DTextureLoader","createDataTextureLoader","Int16Data2DLoader","Uint16Data2DLoader","Float32Data2DLoader","Float32Data3DLoader","definePropertyShorthand","destination","sourceKeysArgs","descriptors","i","source","keys","key","defineUniformShorthand","clamp","MathUtils","euclideanModulo","inverseLerp","lerp","radians","degrees","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","normalize","remap","x","min1","max1","min2","max2","remapClamped","smoothstep","saturate","closeTo","b","relativeEpsilon","absoluteEpsilon","diff","EPSILON","eastScratch","northScratch","upScratch","vectorScratch1","vectorScratch2","vectorScratch3","matrixScratch","Matrix4","quaternionScratch","Quaternion","rayScratch","Ray","PointOfView","distance","heading","pitch","roll","other","target","eye","quaternion","up","ellipsoid","Ellipsoid","offset","rollAxis","camera","direction","s","t","y","_Rectangle","west","south","east","north","Geodetic","Rectangle","includePattern","resolveIncludes","includes","match","path","include","parent","component","STBNLoader","RedFormat","NearestFilter","RepeatWrapping","traverseChildren","z","maxZ","divisor","nextZ","scale","nextX","nextY","children","child","coord","TileCoordinate","vectorScratch","Vector2","TilingScheme","rectangle","geodetic","size","longitude","tile","unrollLoopPattern","loopReplacer","start","end","snippet","string","unrollLoops"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/ArrayBufferLoader.ts","../src/assertions.ts","../src/bufferGeometry.ts","../src/constants.ts","../src/typedArray.ts","../src/typedArrayParsers.ts","../src/TypedArrayLoader.ts","../src/DataLoader.ts","../src/math.ts","../src/decorators.ts","../src/defineShorthand.ts","../src/PointOfView.ts","../src/Rectangle.ts","../src/resolveIncludes.ts","../src/STBNLoader.ts","../src/TileCoordinate.ts","../src/TilingScheme.ts","../src/unrollLoops.ts"],"sourcesContent":null,"names":["isProduction","prefix","invariant","condition","message","value","ArrayBufferLoader","Loader","url","onLoad","onProgress","onError","loader","FileLoader","arrayBuffer","error","assertType","toBufferGeometryLike","geometry","attributes","index","boundingBox","boundingSphere","attribute","_a","buffer","fromBufferGeometryLike","input","result","BufferGeometry","name","BufferAttribute","min","max","Box3","Vector3","center","radius","Sphere","STBN_TEXTURE_WIDTH","STBN_TEXTURE_HEIGHT","STBN_TEXTURE_DEPTH","DEFAULT_STBN_URL","getTypedArrayElementType","array","type","hostLittleEndian","isHostLittleEndian","a","parseTypedArray","TypedArray","getValue","littleEndian","data","byteIndex","parseUint8Array","parseInt8Array","parseUint16Array","parseInt16Array","parseInt32Array","parseUint32Array","parseFloat32Array","parseFloat64Array","TypedArrayLoader","createTypedArrayLoaderClass","parser","createTypedArrayLoader","Int16ArrayLoader","Uint16ArrayLoader","Float32ArrayLoader","defaultDataTextureParameter","RGBAFormat","ClampToEdgeWrapping","LinearFilter","DataLoader","texture","width","height","depth","params","UnsignedByteType","ByteType","FloatType","createDataLoaderClass","Texture","parameters","createData3DTextureLoaderClass","Data3DTexture","createDataTextureLoaderClass","DataTexture","createData3DTextureLoader","createDataTextureLoader","Int16Data2DLoader","Uint16Data2DLoader","Float32Data2DLoader","Float32Data3DLoader","clamp","MathUtils","euclideanModulo","inverseLerp","lerp","radians","degrees","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","normalize","remap","x","min1","max1","min2","max2","remapClamped","smoothstep","saturate","closeTo","b","relativeEpsilon","absoluteEpsilon","diff","define","target","propertyKey","Material","defineInt","prevValue","defineFloat","precision","defineExpression","validate","definePropertyShorthand","destination","sourceKeysArgs","descriptors","i","source","keys","key","defineUniformShorthand","EPSILON","eastScratch","northScratch","upScratch","vectorScratch1","vectorScratch2","vectorScratch3","matrixScratch","Matrix4","quaternionScratch","Quaternion","rayScratch","Ray","PointOfView","distance","heading","pitch","roll","other","eye","quaternion","up","ellipsoid","Ellipsoid","offset","rollAxis","camera","direction","s","t","y","_Rectangle","west","south","east","north","Geodetic","Rectangle","includePattern","resolveIncludes","includes","match","path","include","parent","component","STBNLoader","RedFormat","NearestFilter","RepeatWrapping","traverseChildren","z","maxZ","divisor","nextZ","scale","nextX","nextY","children","child","coord","TileCoordinate","vectorScratch","Vector2","TilingScheme","rectangle","geodetic","size","longitude","tile","unrollLoopPattern","loopReplacer","start","end","snippet","string","unrollLoops"],"mappings":"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","x_google_ignoreList":[0]}
package/build/shaders.cjs CHANGED
@@ -103,7 +103,13 @@ float linearizeDepth(const float depth, const float near, const float far) {
103
103
  float checker(const vec2 uv, const float repeats) {
104
104
  return checker(uv, vec2(repeats));
105
105
  }
106
- `,c=`#if !defined(saturate)
106
+ `,c=`// Reference: https://advances.realtimerendering.com/s2014/index.html#_NEXT_GENERATION_POST
107
+
108
+ float interleavedGradientNoise(const vec2 coord) {
109
+ const vec3 magic = vec3(0.06711056, 0.00583715, 52.9829189);
110
+ return fract(magic.z * fract(dot(coord, magic.xy)));
111
+ }
112
+ `,i=`#if !defined(saturate)
107
113
  #define saturate(a) clamp(a, 0.0, 1.0)
108
114
  #endif // !defined(saturate)
109
115
 
@@ -195,7 +201,7 @@ vec3 remapClamped(const vec3 x, const vec3 min1, const vec3 max1) {
195
201
  vec4 remapClamped(const vec4 x, const vec4 min1, const vec4 max1) {
196
202
  return saturate((x - min1) / (max1 - min1));
197
203
  }
198
- `,i=`// Reference: https://jcgt.org/published/0003/02/01/paper.pdf
204
+ `,o=`// Reference: https://jcgt.org/published/0003/02/01/paper.pdf
199
205
 
200
206
  vec2 signNotZero(vec2 v) {
201
207
  return vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);
@@ -215,29 +221,6 @@ vec3 unpackVec2ToNormal(vec2 e) {
215
221
  }
216
222
  return normalize(v);
217
223
  }
218
- `,o=`// TODO: Maybe switch to Vogel disk with IGN:
219
- // https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
220
- // Taken from: https://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf
221
- const vec2 poissonDisk[16] = vec2[16](
222
- vec2(-0.94201624, -0.39906216),
223
- vec2(0.94558609, -0.76890725),
224
- vec2(-0.094184101, -0.9293887),
225
- vec2(0.34495938, 0.2938776),
226
- vec2(-0.91588581, 0.45771432),
227
- vec2(-0.81544232, -0.87912464),
228
- vec2(-0.38277543, 0.27676845),
229
- vec2(0.97484398, 0.75648379),
230
- vec2(0.44323325, -0.97511554),
231
- vec2(0.53742981, -0.4737342),
232
- vec2(-0.26496911, -0.41893023),
233
- vec2(0.79197514, 0.19090188),
234
- vec2(-0.2418884, 0.99706507),
235
- vec2(-0.81409955, 0.9143759),
236
- vec2(0.19984126, 0.78641367),
237
- vec2(0.14383161, -0.1410079)
238
- );
239
-
240
- #define POISSON_DISK_COUNT (16)
241
224
  `,r=`float raySphereFirstIntersection(
242
225
  const vec3 origin,
243
226
  const vec3 direction,
@@ -393,5 +376,13 @@ vec3 turbo(const float x) {
393
376
  float b = 0.1067 + x * (12.5925 - x * (60.1097 - x * (109.0745 - x * (88.5066 - x * 26.8183))));
394
377
  return vec3(r, g, b);
395
378
  }
396
- `,v=n,m=e,d=t,l=c,x=i,p=o,f=r,u=a,h=s;exports.cascadedShadowMaps=v;exports.depth=m;exports.generators=d;exports.math=l;exports.packing=x;exports.poissonDisk=p;exports.raySphereIntersection=f;exports.transform=u;exports.turbo=h;
379
+ `,v=`// Reference: https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
380
+
381
+ vec2 vogelDisk(const int index, const int sampleCount, const float phi) {
382
+ const float goldenAngle = 2.39996322972865332;
383
+ float r = sqrt(float(index) + 0.5) / sqrt(float(sampleCount));
384
+ float theta = float(index) * goldenAngle + phi;
385
+ return r * vec2(cos(theta), sin(theta));
386
+ }
387
+ `,m=n,d=e,l=t,x=c,f=i,p=o,u=r,h=a,g=s,_=v;exports.cascadedShadowMaps=m;exports.depth=d;exports.generators=l;exports.interleavedGradientNoise=x;exports.math=f;exports.packing=p;exports.raySphereIntersection=u;exports.transform=h;exports.turbo=g;exports.vogelDisk=_;
397
388
  //# sourceMappingURL=shaders.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shaders.cjs","sources":["../src/shaders/cascadedShadowMaps.glsl?raw","../src/shaders/depth.glsl?raw","../src/shaders/generators.glsl?raw","../src/shaders/math.glsl?raw","../src/shaders/packing.glsl?raw","../src/shaders/poissonDisk.glsl?raw","../src/shaders/raySphereIntersection.glsl?raw","../src/shaders/transform.glsl?raw","../src/shaders/turbo.glsl?raw","../src/shaders/index.ts"],"sourcesContent":null,"names":["_cascadedShadowMaps","_depth","_generators","_math","_packing","_poissonDisk","_raySphereIntersection","_transform","_turbo","cascadedShadowMaps","depth","generators","math","packing","poissonDisk","raySphereIntersection","transform","turbo"],"mappings":"gFAAA,MAAeA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECUFC,EAA6BT,EAC7BU,EAAgBT,EAChBU,EAAqBT,EACrBU,EAAeT,EACfU,EAAkBT,EAClBU,EAAsBT,EACtBU,EAAgCT,EAChCU,EAAoBT,EACpBU,EAAgBT"}
1
+ {"version":3,"file":"shaders.cjs","sources":["../src/shaders/cascadedShadowMaps.glsl?raw","../src/shaders/depth.glsl?raw","../src/shaders/generators.glsl?raw","../src/shaders/interleavedGradientNoise.glsl?raw","../src/shaders/math.glsl?raw","../src/shaders/packing.glsl?raw","../src/shaders/raySphereIntersection.glsl?raw","../src/shaders/transform.glsl?raw","../src/shaders/turbo.glsl?raw","../src/shaders/vogelDisk.glsl?raw","../src/shaders/index.ts"],"sourcesContent":null,"names":["_cascadedShadowMaps","_depth","_generators","_interleavedGradientNoise","_math","_packing","_raySphereIntersection","_transform","_turbo","_vogelDisk","cascadedShadowMaps","depth","generators","interleavedGradientNoise","math","packing","raySphereIntersection","transform","turbo","vogelDisk"],"mappings":"gFAAA,MAAeA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAAC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECWFC,EAA6BV,EAC7BW,EAAgBV,EAChBW,EAAqBV,EACrBW,EAA2BV,EAC3BW,EAAeV,EACfW,EAAkBV,EAClBW,EAAgCV,EAChCW,EAAoBV,EACpBW,EAAgBV,EAChBW,EAAYV"}
package/build/shaders.js CHANGED
@@ -103,7 +103,13 @@ float linearizeDepth(const float depth, const float near, const float far) {
103
103
  float checker(const vec2 uv, const float repeats) {
104
104
  return checker(uv, vec2(repeats));
105
105
  }
106
- `, c = `#if !defined(saturate)
106
+ `, c = `// Reference: https://advances.realtimerendering.com/s2014/index.html#_NEXT_GENERATION_POST
107
+
108
+ float interleavedGradientNoise(const vec2 coord) {
109
+ const vec3 magic = vec3(0.06711056, 0.00583715, 52.9829189);
110
+ return fract(magic.z * fract(dot(coord, magic.xy)));
111
+ }
112
+ `, i = `#if !defined(saturate)
107
113
  #define saturate(a) clamp(a, 0.0, 1.0)
108
114
  #endif // !defined(saturate)
109
115
 
@@ -195,7 +201,7 @@ vec3 remapClamped(const vec3 x, const vec3 min1, const vec3 max1) {
195
201
  vec4 remapClamped(const vec4 x, const vec4 min1, const vec4 max1) {
196
202
  return saturate((x - min1) / (max1 - min1));
197
203
  }
198
- `, i = `// Reference: https://jcgt.org/published/0003/02/01/paper.pdf
204
+ `, o = `// Reference: https://jcgt.org/published/0003/02/01/paper.pdf
199
205
 
200
206
  vec2 signNotZero(vec2 v) {
201
207
  return vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);
@@ -215,29 +221,6 @@ vec3 unpackVec2ToNormal(vec2 e) {
215
221
  }
216
222
  return normalize(v);
217
223
  }
218
- `, o = `// TODO: Maybe switch to Vogel disk with IGN:
219
- // https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
220
- // Taken from: https://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf
221
- const vec2 poissonDisk[16] = vec2[16](
222
- vec2(-0.94201624, -0.39906216),
223
- vec2(0.94558609, -0.76890725),
224
- vec2(-0.094184101, -0.9293887),
225
- vec2(0.34495938, 0.2938776),
226
- vec2(-0.91588581, 0.45771432),
227
- vec2(-0.81544232, -0.87912464),
228
- vec2(-0.38277543, 0.27676845),
229
- vec2(0.97484398, 0.75648379),
230
- vec2(0.44323325, -0.97511554),
231
- vec2(0.53742981, -0.4737342),
232
- vec2(-0.26496911, -0.41893023),
233
- vec2(0.79197514, 0.19090188),
234
- vec2(-0.2418884, 0.99706507),
235
- vec2(-0.81409955, 0.9143759),
236
- vec2(0.19984126, 0.78641367),
237
- vec2(0.14383161, -0.1410079)
238
- );
239
-
240
- #define POISSON_DISK_COUNT (16)
241
224
  `, r = `float raySphereFirstIntersection(
242
225
  const vec3 origin,
243
226
  const vec3 direction,
@@ -393,16 +376,25 @@ vec3 turbo(const float x) {
393
376
  float b = 0.1067 + x * (12.5925 - x * (60.1097 - x * (109.0745 - x * (88.5066 - x * 26.8183))));
394
377
  return vec3(r, g, b);
395
378
  }
396
- `, v = n, m = e, d = t, l = c, x = i, p = o, f = r, u = a, h = s;
379
+ `, v = `// Reference: https://www.gamedev.net/tutorials/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/
380
+
381
+ vec2 vogelDisk(const int index, const int sampleCount, const float phi) {
382
+ const float goldenAngle = 2.39996322972865332;
383
+ float r = sqrt(float(index) + 0.5) / sqrt(float(sampleCount));
384
+ float theta = float(index) * goldenAngle + phi;
385
+ return r * vec2(cos(theta), sin(theta));
386
+ }
387
+ `, m = n, d = e, l = t, x = c, f = i, p = o, u = r, h = a, g = s, _ = v;
397
388
  export {
398
- v as cascadedShadowMaps,
399
- m as depth,
400
- d as generators,
401
- l as math,
402
- x as packing,
403
- p as poissonDisk,
404
- f as raySphereIntersection,
405
- u as transform,
406
- h as turbo
389
+ m as cascadedShadowMaps,
390
+ d as depth,
391
+ l as generators,
392
+ x as interleavedGradientNoise,
393
+ f as math,
394
+ p as packing,
395
+ u as raySphereIntersection,
396
+ h as transform,
397
+ g as turbo,
398
+ _ as vogelDisk
407
399
  };
408
400
  //# sourceMappingURL=shaders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shaders.js","sources":["../src/shaders/cascadedShadowMaps.glsl?raw","../src/shaders/depth.glsl?raw","../src/shaders/generators.glsl?raw","../src/shaders/math.glsl?raw","../src/shaders/packing.glsl?raw","../src/shaders/poissonDisk.glsl?raw","../src/shaders/raySphereIntersection.glsl?raw","../src/shaders/transform.glsl?raw","../src/shaders/turbo.glsl?raw","../src/shaders/index.ts"],"sourcesContent":null,"names":["_cascadedShadowMaps","_depth","_generators","_math","_packing","_poissonDisk","_raySphereIntersection","_transform","_turbo","cascadedShadowMaps","depth","generators","math","packing","poissonDisk","raySphereIntersection","transform","turbo"],"mappings":"AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCUFC,IAA6BT,GAC7BU,IAAgBT,GAChBU,IAAqBT,GACrBU,IAAeT,GACfU,IAAkBT,GAClBU,IAAsBT,GACtBU,IAAgCT,GAChCU,IAAoBT,GACpBU,IAAgBT;"}
1
+ {"version":3,"file":"shaders.js","sources":["../src/shaders/cascadedShadowMaps.glsl?raw","../src/shaders/depth.glsl?raw","../src/shaders/generators.glsl?raw","../src/shaders/interleavedGradientNoise.glsl?raw","../src/shaders/math.glsl?raw","../src/shaders/packing.glsl?raw","../src/shaders/raySphereIntersection.glsl?raw","../src/shaders/transform.glsl?raw","../src/shaders/turbo.glsl?raw","../src/shaders/vogelDisk.glsl?raw","../src/shaders/index.ts"],"sourcesContent":null,"names":["_cascadedShadowMaps","_depth","_generators","_interleavedGradientNoise","_math","_packing","_raySphereIntersection","_transform","_turbo","_vogelDisk","cascadedShadowMaps","depth","generators","interleavedGradientNoise","math","packing","raySphereIntersection","transform","turbo","vogelDisk"],"mappings":"AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAAC,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCWFC,IAA6BV,GAC7BW,IAAgBV,GAChBW,IAAqBV,GACrBW,IAA2BV,GAC3BW,IAAeV,GACfW,IAAkBV,GAClBW,IAAgCV,GAChCW,IAAoBV,GACpBW,IAAgBV,GAChBW,IAAYV;"}
package/build/shared.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var P=Object.defineProperty;var j=(p,t,e)=>t in p?P(p,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):p[t]=e;var g=(p,t,e)=>j(p,typeof t!="symbol"?t+"":t,e);const s=require("three"),W=new s.Vector3;function G(p,t,e=new s.Vector3,r){const{x:i,y:n,z:c}=p,o=t.x,a=t.y,y=t.z,d=i*i*o,u=n*n*a,m=c*c*y,l=d+u+m,h=Math.sqrt(1/l);if(!Number.isFinite(h))return;const f=W.copy(p).multiplyScalar(h);if(l<((r==null?void 0:r.centerTolerance)??.1))return e.copy(f);const A=f.multiply(t).multiplyScalar(2);let M=(1-h)*p.length()/(A.length()/2),z=0,w,x,V,E;do{M-=z,w=1/(1+M*o),x=1/(1+M*a),V=1/(1+M*y);const v=w*w,L=x*x,T=V*V,B=v*w,C=L*x,D=T*V;E=d*v+u*L+m*T-1,z=E/((d*B*o+u*C*a+m*D*y)*-2)}while(Math.abs(E)>1e-12);return e.set(i*w,n*x,c*V)}const b=new s.Vector3,U=new s.Vector3,O=new s.Vector3,S=class S{constructor(t,e,r){g(this,"radii");this.radii=new s.Vector3(t,e,r)}get minimumRadius(){return Math.min(this.radii.x,this.radii.y,this.radii.z)}get maximumRadius(){return Math.max(this.radii.x,this.radii.y,this.radii.z)}reciprocalRadii(t=new s.Vector3){const{x:e,y:r,z:i}=this.radii;return t.set(1/e,1/r,1/i)}reciprocalRadiiSquared(t=new s.Vector3){const{x:e,y:r,z:i}=this.radii;return t.set(1/e**2,1/r**2,1/i**2)}projectOnSurface(t,e=new s.Vector3,r){return G(t,this.reciprocalRadiiSquared(),e,r)}getSurfaceNormal(t,e=new s.Vector3){return e.multiplyVectors(this.reciprocalRadiiSquared(b),t).normalize()}getEastNorthUpVectors(t,e=new s.Vector3,r=new s.Vector3,i=new s.Vector3){this.getSurfaceNormal(t,i),e.set(-t.y,t.x,0).normalize(),r.crossVectors(i,e).normalize()}getEastNorthUpFrame(t,e=new s.Matrix4){const r=b,i=U,n=O;return this.getEastNorthUpVectors(t,r,i,n),e.makeBasis(r,i,n).setPosition(t)}getIntersection(t,e=new s.Vector3){const r=this.reciprocalRadii(b),i=U.copy(r).multiply(t.origin),n=O.copy(r).multiply(t.direction),c=i.lengthSq(),o=n.lengthSq(),a=i.dot(n),y=a**2-o*(c-1);if(c===1)return e.copy(t.origin);if(c>1){if(a>=0||y<0)return;const d=Math.sqrt(y),u=(-a-d)/o,m=(-a+d)/o;return t.at(Math.min(u,m),e)}if(c<1){const d=a**2-o*(c-1),u=Math.sqrt(d),m=(-a+u)/o;return t.at(m,e)}if(a<0)return t.at(-a/o,e)}getOsculatingSphereCenter(t,e,r=new s.Vector3){const i=this.radii.x**2,n=b.set(t.x/i,t.y/i,t.z/this.radii.z**2).normalize();return r.copy(n.multiplyScalar(-e).add(t))}};g(S,"WGS84",new S(6378137,6378137,6356752314245179e-9));let q=S;class $ extends s.BufferGeometry{constructor(e=new s.Vector3(1,1,1),r=32,i=16){super();g(this,"type","EllipsoidGeometry");g(this,"parameters");this.parameters={radii:e,longitudeSegments:r,latitudeSegments:i},r=Math.max(3,Math.floor(r)),i=Math.max(2,Math.floor(i));const n=(r+1)*(i+1),c=new s.Vector3,o=new s.Vector3,a=new Float32Array(n*3),y=new Float32Array(n*3),d=new Float32Array(n*2),u=[],m=[];for(let l=0,h=0,f=0,A=0;l<=i;++l){const M=[],z=l/i,w=z*Math.PI;let x=0;l===0?x=.5/r:l===i&&(x=-.5/r);for(let V=0;V<=r;++V,h+=3,f+=2,++A){const E=V/r,v=E*Math.PI*2;c.x=e.x*Math.cos(v)*Math.sin(w),c.y=e.y*Math.sin(v)*Math.sin(w),c.z=e.z*Math.cos(w),a[h]=c.x,a[h+1]=c.y,a[h+2]=c.z,o.copy(c).normalize(),y[h]=o.x,y[h+1]=o.y,y[h+2]=o.z,d[f]=E+x,d[f+1]=1-z,M.push(A)}u.push(M)}for(let l=0;l<i;++l)for(let h=0;h<r;++h){const f=u[l][h+1],A=u[l][h],M=u[l+1][h],z=u[l+1][h+1];l!==0&&m.push(f,A,z),l!==i-1&&m.push(A,M,z)}this.setIndex(m),this.setAttribute("position",new s.BufferAttribute(a,3)),this.setAttribute("normal",new s.BufferAttribute(y,3)),this.setAttribute("uv",new s.BufferAttribute(d,2))}copy(e){return super.copy(e),this.parameters={...e.parameters},this}}const N=new s.Vector3,R=new s.Vector3,I=class I{constructor(t=0,e=0,r=0){this.longitude=t,this.latitude=e,this.height=r}set(t,e,r){return this.longitude=t,this.latitude=e,r!=null&&(this.height=r),this}clone(){return new I(this.longitude,this.latitude,this.height)}copy(t){return this.longitude=t.longitude,this.latitude=t.latitude,this.height=t.height,this}equals(t){return t.longitude===this.longitude&&t.latitude===this.latitude&&t.height===this.height}setLongitude(t){return this.longitude=t,this}setLatitude(t){return this.latitude=t,this}setHeight(t){return this.height=t,this}normalize(){return this.longitude<I.MIN_LONGITUDE&&(this.longitude+=Math.PI*2),this}setFromECEF(t,e){const i=((e==null?void 0:e.ellipsoid)??q.WGS84).reciprocalRadiiSquared(N),n=G(t,i,R,e);if(n==null)throw new Error(`Could not project position to ellipsoid surface: ${t.toArray()}`);const c=N.multiplyVectors(n,i).normalize();this.longitude=Math.atan2(c.y,c.x),this.latitude=Math.asin(c.z);const o=N.subVectors(t,n);return this.height=Math.sign(o.dot(t))*o.length(),this}toECEF(t=new s.Vector3,e){const r=(e==null?void 0:e.ellipsoid)??q.WGS84,i=N.multiplyVectors(r.radii,r.radii),n=Math.cos(this.latitude),c=R.set(n*Math.cos(this.longitude),n*Math.sin(this.longitude),Math.sin(this.latitude)).normalize();return t.multiplyVectors(i,c),t.divideScalar(Math.sqrt(c.dot(t))).add(c.multiplyScalar(this.height))}fromArray(t,e=0){return this.longitude=t[e],this.latitude=t[e+1],this.height=t[e+2],this}toArray(t=[],e=0){return t[e]=this.longitude,t[e+1]=this.latitude,t[e+2]=this.height,t}*[Symbol.iterator](){yield this.longitude,yield this.latitude,yield this.height}};g(I,"MIN_LONGITUDE",-Math.PI),g(I,"MAX_LONGITUDE",Math.PI),g(I,"MIN_LATITUDE",-Math.PI/2),g(I,"MAX_LATITUDE",Math.PI/2);let F=I;exports.Ellipsoid=q;exports.EllipsoidGeometry=$;exports.Geodetic=F;
1
+ "use strict";const c=require("three"),D=new c.Vector3;function R(E,t,i=new c.Vector3,e){const{x:r,y:s,z:n}=E,h=t.x,a=t.y,y=t.z,u=r*r*h,d=s*s*a,o=n*n*y,l=u+d+o,p=Math.sqrt(1/l);if(!Number.isFinite(p))return;const x=D.copy(E).multiplyScalar(p);if(l<((e==null?void 0:e.centerTolerance)??.1))return i.copy(x);const f=x.multiply(t).multiplyScalar(2);let m=(1-p)*E.length()/(f.length()/2),z=0,M,w,V,I;do{m-=z,M=1/(1+m*h),w=1/(1+m*a),V=1/(1+m*y);const S=M*M,F=w*w,L=V*V,G=S*M,B=F*w,C=L*V;I=u*S+d*F+o*L-1,z=I/((u*G*h+d*B*a+o*C*y)*-2)}while(Math.abs(I)>1e-12);return i.set(r*M,s*w,n*V)}const v=new c.Vector3,T=new c.Vector3,U=new c.Vector3,b=class b{constructor(t,i,e){this.radii=new c.Vector3(t,i,e)}get minimumRadius(){return Math.min(this.radii.x,this.radii.y,this.radii.z)}get maximumRadius(){return Math.max(this.radii.x,this.radii.y,this.radii.z)}reciprocalRadii(t=new c.Vector3){const{x:i,y:e,z:r}=this.radii;return t.set(1/i,1/e,1/r)}reciprocalRadiiSquared(t=new c.Vector3){const{x:i,y:e,z:r}=this.radii;return t.set(1/i**2,1/e**2,1/r**2)}projectOnSurface(t,i=new c.Vector3,e){return R(t,this.reciprocalRadiiSquared(),i,e)}getSurfaceNormal(t,i=new c.Vector3){return i.multiplyVectors(this.reciprocalRadiiSquared(v),t).normalize()}getEastNorthUpVectors(t,i=new c.Vector3,e=new c.Vector3,r=new c.Vector3){this.getSurfaceNormal(t,r),i.set(-t.y,t.x,0).normalize(),e.crossVectors(r,i).normalize()}getEastNorthUpFrame(t,i=new c.Matrix4){const e=v,r=T,s=U;return this.getEastNorthUpVectors(t,e,r,s),i.makeBasis(e,r,s).setPosition(t)}getIntersection(t,i=new c.Vector3){const e=this.reciprocalRadii(v),r=T.copy(e).multiply(t.origin),s=U.copy(e).multiply(t.direction),n=r.lengthSq(),h=s.lengthSq(),a=r.dot(s),y=a**2-h*(n-1);if(n===1)return i.copy(t.origin);if(n>1){if(a>=0||y<0)return;const u=Math.sqrt(y),d=(-a-u)/h,o=(-a+u)/h;return t.at(Math.min(d,o),i)}if(n<1){const u=a**2-h*(n-1),d=Math.sqrt(u),o=(-a+d)/h;return t.at(o,i)}if(a<0)return t.at(-a/h,i)}getOsculatingSphereCenter(t,i,e=new c.Vector3){const r=this.radii.x**2,s=v.set(t.x/r,t.y/r,t.z/this.radii.z**2).normalize();return e.copy(s.multiplyScalar(-i).add(t))}};b.WGS84=new b(6378137,6378137,6356752314245179e-9);let A=b;class P extends c.BufferGeometry{constructor(t=new c.Vector3(1,1,1),i=32,e=16){super(),this.type="EllipsoidGeometry",this.parameters={radii:t,longitudeSegments:i,latitudeSegments:e},i=Math.max(3,Math.floor(i)),e=Math.max(2,Math.floor(e));const r=(i+1)*(e+1),s=new c.Vector3,n=new c.Vector3,h=new Float32Array(r*3),a=new Float32Array(r*3),y=new Float32Array(r*2),u=[],d=[];for(let o=0,l=0,p=0,x=0;o<=e;++o){const f=[],m=o/e,z=m*Math.PI;let M=0;o===0?M=.5/i:o===e&&(M=-.5/i);for(let w=0;w<=i;++w,l+=3,p+=2,++x){const V=w/i,I=V*Math.PI*2;s.x=t.x*Math.cos(I)*Math.sin(z),s.y=t.y*Math.sin(I)*Math.sin(z),s.z=t.z*Math.cos(z),h[l]=s.x,h[l+1]=s.y,h[l+2]=s.z,n.copy(s).normalize(),a[l]=n.x,a[l+1]=n.y,a[l+2]=n.z,y[p]=V+M,y[p+1]=1-m,f.push(x)}u.push(f)}for(let o=0;o<e;++o)for(let l=0;l<i;++l){const p=u[o][l+1],x=u[o][l],f=u[o+1][l],m=u[o+1][l+1];o!==0&&d.push(p,x,m),o!==e-1&&d.push(x,f,m)}this.setIndex(d),this.setAttribute("position",new c.BufferAttribute(h,3)),this.setAttribute("normal",new c.BufferAttribute(a,3)),this.setAttribute("uv",new c.BufferAttribute(y,2))}copy(t){return super.copy(t),this.parameters={...t.parameters},this}}const q=new c.Vector3,O=new c.Vector3,g=class g{constructor(t=0,i=0,e=0){this.longitude=t,this.latitude=i,this.height=e}set(t,i,e){return this.longitude=t,this.latitude=i,e!=null&&(this.height=e),this}clone(){return new g(this.longitude,this.latitude,this.height)}copy(t){return this.longitude=t.longitude,this.latitude=t.latitude,this.height=t.height,this}equals(t){return t.longitude===this.longitude&&t.latitude===this.latitude&&t.height===this.height}setLongitude(t){return this.longitude=t,this}setLatitude(t){return this.latitude=t,this}setHeight(t){return this.height=t,this}normalize(){return this.longitude<g.MIN_LONGITUDE&&(this.longitude+=Math.PI*2),this}setFromECEF(t,i){const r=((i==null?void 0:i.ellipsoid)??A.WGS84).reciprocalRadiiSquared(q),s=R(t,r,O,i);if(s==null)throw new Error(`Could not project position to ellipsoid surface: ${t.toArray()}`);const n=q.multiplyVectors(s,r).normalize();this.longitude=Math.atan2(n.y,n.x),this.latitude=Math.asin(n.z);const h=q.subVectors(t,s);return this.height=Math.sign(h.dot(t))*h.length(),this}toECEF(t=new c.Vector3,i){const e=(i==null?void 0:i.ellipsoid)??A.WGS84,r=q.multiplyVectors(e.radii,e.radii),s=Math.cos(this.latitude),n=O.set(s*Math.cos(this.longitude),s*Math.sin(this.longitude),Math.sin(this.latitude)).normalize();return t.multiplyVectors(r,n),t.divideScalar(Math.sqrt(n.dot(t))).add(n.multiplyScalar(this.height))}fromArray(t,i=0){return this.longitude=t[i],this.latitude=t[i+1],this.height=t[i+2],this}toArray(t=[],i=0){return t[i]=this.longitude,t[i+1]=this.latitude,t[i+2]=this.height,t}*[Symbol.iterator](){yield this.longitude,yield this.latitude,yield this.height}};g.MIN_LONGITUDE=-Math.PI,g.MAX_LONGITUDE=Math.PI,g.MIN_LATITUDE=-Math.PI/2,g.MAX_LATITUDE=Math.PI/2;let N=g;exports.Ellipsoid=A;exports.EllipsoidGeometry=P;exports.Geodetic=N;
2
2
  //# sourceMappingURL=shared.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.cjs","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","__publicField","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","xySquared","normal","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","v","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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"}
1
+ {"version":3,"file":"shared.cjs","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","xySquared","normal","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","v","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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"}