@takram/three-geospatial 0.0.1-alpha.4 → 0.0.1-alpha.6

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 (45) hide show
  1. package/build/index.cjs +1 -43
  2. package/build/index.cjs.map +1 -1
  3. package/build/index.js +315 -772
  4. package/build/index.js.map +1 -1
  5. package/build/shaders.cjs +276 -0
  6. package/build/shaders.cjs.map +1 -0
  7. package/build/shaders.js +286 -0
  8. package/build/shaders.js.map +1 -0
  9. package/package.json +7 -3
  10. package/src/DataLoader.ts +107 -49
  11. package/src/Texture3DLoader.ts +81 -0
  12. package/src/TypedArrayLoader.ts +25 -9
  13. package/src/bufferGeometry.ts +2 -2
  14. package/src/constants.ts +3 -0
  15. package/src/index.ts +4 -10
  16. package/src/math.ts +1 -0
  17. package/src/r3f/index.ts +1 -0
  18. package/src/r3f/types.ts +64 -0
  19. package/src/resolveIncludes.test.ts +21 -0
  20. package/src/resolveIncludes.ts +22 -0
  21. package/src/shaders/depth.glsl +3 -1
  22. package/src/shaders/generators.glsl +9 -0
  23. package/src/shaders/index.ts +17 -0
  24. package/src/shaders/math.glsl +52 -0
  25. package/src/shaders/poissonDisk.glsl +21 -0
  26. package/src/shaders/raySphereIntersection.glsl +134 -0
  27. package/src/shaders/turbo.glsl +9 -0
  28. package/src/typedArray.ts +29 -52
  29. package/src/typedArrayParsers.ts +77 -0
  30. package/src/types.ts +5 -51
  31. package/src/unrollLoops.ts +23 -0
  32. package/types/DataLoader.d.ts +30 -60
  33. package/types/Texture3DLoader.d.ts +5 -0
  34. package/types/TypedArrayLoader.d.ts +10 -10
  35. package/types/constants.d.ts +3 -0
  36. package/types/index.d.ts +4 -3
  37. package/types/math.d.ts +1 -0
  38. package/types/r3f/index.d.ts +1 -0
  39. package/types/r3f/types.d.ts +22 -0
  40. package/types/resolveIncludes.d.ts +5 -0
  41. package/types/shaders/index.d.ts +8 -0
  42. package/types/typedArray.d.ts +2 -8
  43. package/types/typedArrayParsers.d.ts +11 -0
  44. package/types/types.d.ts +5 -20
  45. package/types/unrollLoops.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/shaders/depth.glsl","../src/shaders/packing.glsl","../src/shaders/transform.glsl","../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/ArrayBufferLoader.ts","../src/assertions.ts","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isFlattenable.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFlatten.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/flatten.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_flatRest.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseHasIn.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasPath.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/hasIn.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSet.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePickBy.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePick.js","../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/pick.js","../src/bufferGeometry.ts","../src/typedArray.ts","../src/TypedArrayLoader.ts","../src/DataLoader.ts","../src/math.ts","../src/PointOfView.ts","../src/Rectangle.ts","../src/TileCoordinate.ts","../src/TilingScheme.ts","../src/index.ts"],"sourcesContent":null,"names":["depth_default","packing_default","transform_default","isProduction","prefix","invariant","condition","message","value","ArrayBufferLoader","Loader","url","onLoad","onProgress","onError","loader","FileLoader","arrayBuffer","error","assertType","freeGlobal","freeSelf","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","result","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","arrayMap","array","iteratee","index","length","isArray","INFINITY","symbolProto","symbolToString","baseToString","isObject","type","identity","asyncTag","funcTag","genTag","proxyTag","isFunction","coreJsData","maskSrcKey","uid","isMasked","func","funcProto","funcToString","toSource","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","pattern","getValue","object","key","getNative","apply","thisArg","args","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","count","lastCalled","stamp","remaining","constant","defineProperty","baseSetToString","string","setToString","MAX_SAFE_INTEGER","reIsUint","isIndex","baseAssignValue","eq","other","assignValue","objValue","nativeMax","overRest","start","transform","otherArgs","isLength","argsTag","baseIsArguments","propertyIsEnumerable","isArguments","reIsDeepProp","reIsPlainProp","isKey","nativeCreate","hashClear","hashDelete","HASH_UNDEFINED","hashGet","data","hashHas","hashSet","Hash","entries","entry","listCacheClear","assocIndexOf","arrayProto","splice","listCacheDelete","lastIndex","listCacheGet","listCacheHas","listCacheSet","ListCache","Map","mapCacheClear","isKeyable","getMapData","map","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","size","MapCache","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","MAX_MEMOIZE_SIZE","memoizeCapped","rePropName","reEscapeChar","stringToPath","match","number","quote","subString","toString","castPath","toKey","baseGet","path","arrayPush","values","offset","spreadableSymbol","isFlattenable","baseFlatten","depth","predicate","isStrict","flatten","flatRest","baseHasIn","hasPath","hasFunc","hasIn","baseSet","customizer","nested","newValue","basePickBy","paths","basePick","pick","toBufferGeometryLike","geometry","attribute","_a","buffer","fromBufferGeometryLike","input","BufferGeometry","name","BufferAttribute","min","max","Box3","Vector3","center","radius","Sphere","parseTypedArray","TypedArray","littleEndian","byteIndex","parseInt16Array","parseUint16Array","parseFloat32Array","TypedArrayLoader","Int16ArrayLoader","__publicField","Uint16ArrayLoader","Float32ArrayLoader","defaultDataTextureParameter","RGBAFormat","ClampToEdgeWrapping","LinearFilter","DataLoader","texture","Int16Data2DLoader","DataTexture","FloatType","Uint16Data2DLoader","Float32Data2DLoader","Float32Data3DLoader","Data3DTexture","clamp","MathUtils","euclideanModulo","inverseLerp","lerp","radians","degrees","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","normalize","smoothstep","x","saturate","closeTo","a","b","relativeEpsilon","absoluteEpsilon","diff","EPSILON","eastScratch","northScratch","upScratch","vectorScratch1","vectorScratch2","vectorScratch3","matrixScratch","Matrix4","quaternionScratch","Quaternion","rayScratch","Ray","PointOfView","distance","heading","pitch","roll","target","eye","quaternion","up","ellipsoid","Ellipsoid","rollAxis","camera","direction","s","t","_Rectangle","west","south","east","north","y","Geodetic","Rectangle","traverseChildren","z","maxZ","divisor","nextZ","scale","nextX","nextY","children","child","coord","TileCoordinate","vectorScratch","Vector2","TilingScheme","width","height","rectangle","geodetic","longitude","tile","depthShader","packingShader","packing","transformShader"],"mappings":"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","x_google_ignoreList":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]}
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/PointOfView.ts","../src/Rectangle.ts","../src/resolveIncludes.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","getTypedArrayElementType","array","type","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","clamp","MathUtils","euclideanModulo","inverseLerp","lerp","radians","degrees","isPowerOfTwo","ceilPowerOfTwo","floorPowerOfTwo","normalize","remap","smoothstep","x","saturate","closeTo","a","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","source","includes","match","path","include","parent","component","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","i","unrollLoops"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,276 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=`// cSpell:words logdepthbuf
2
+
3
+ float reverseLogDepth(const float depth, const float near, const float far) {
4
+ #ifdef USE_LOGDEPTHBUF
5
+ float d = pow(2.0, depth * log2(far + 1.0)) - 1.0;
6
+ float a = far / (far - near);
7
+ float b = far * near / (near - far);
8
+ return a + b / d;
9
+ #else // USE_LOGDEPTHBUF
10
+ return depth;
11
+ #endif // USE_LOGDEPTHBUF
12
+ }
13
+
14
+ float linearizeDepth(const float depth, const float near, const float far) {
15
+ float ndc = depth * 2.0 - 1.0;
16
+ return 2.0 * near * far / (far + near - ndc * (far - near));
17
+ }
18
+ `,e=`float checker(const vec2 uv, const vec2 repeats) {
19
+ vec2 c = floor(repeats * uv);
20
+ float result = mod(c.x + c.y, 2.0);
21
+ return sign(result);
22
+ }
23
+
24
+ float checker(const vec2 uv, const float repeats) {
25
+ return checker(uv, vec2(repeats));
26
+ }
27
+ `,t=`#if !defined(saturate)
28
+ #define saturate(a) clamp(a, 0.0, 1.0)
29
+ #endif // !defined(saturate)
30
+
31
+ float inverseLerp(const float x, const float y, const float a) {
32
+ return (a - x) / (y - x);
33
+ }
34
+
35
+ vec2 inverseLerp(const vec2 x, const vec2 y, const vec2 a) {
36
+ return (a - x) / (y - x);
37
+ }
38
+
39
+ vec3 inverseLerp(const vec3 x, const vec3 y, const vec3 a) {
40
+ return (a - x) / (y - x);
41
+ }
42
+
43
+ vec4 inverseLerp(const vec4 x, const vec4 y, const vec4 a) {
44
+ return (a - x) / (y - x);
45
+ }
46
+
47
+ float remap(const float x, const float min1, const float max1, const float min2, const float max2) {
48
+ return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
49
+ }
50
+
51
+ vec2 remap(const vec2 x, const vec2 min1, const vec2 max1, const vec2 min2, const vec2 max2) {
52
+ return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
53
+ }
54
+
55
+ vec3 remap(const vec3 x, const vec3 min1, const vec3 max1, const vec3 min2, const vec3 max2) {
56
+ return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
57
+ }
58
+
59
+ vec4 remap(const vec4 x, const vec4 min1, const vec4 max1, const vec4 min2, const vec4 max2) {
60
+ return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
61
+ }
62
+
63
+ // Implicitly remap to 0 and 1
64
+ float remap(const float x, const float min1, const float max1) {
65
+ return (x - min1) / (max1 - min1);
66
+ }
67
+
68
+ vec2 remap(const vec2 x, const vec2 min1, const vec2 max1) {
69
+ return (x - min1) / (max1 - min1);
70
+ }
71
+
72
+ vec3 remap(const vec3 x, const vec3 min1, const vec3 max1) {
73
+ return (x - min1) / (max1 - min1);
74
+ }
75
+
76
+ vec4 remap(const vec4 x, const vec4 min1, const vec4 max1) {
77
+ return (x - min1) / (max1 - min1);
78
+ }
79
+ `,c=`// Reference: https://jcgt.org/published/0003/02/01/paper.pdf
80
+
81
+ vec2 signNotZero(vec2 v) {
82
+ return vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);
83
+ }
84
+
85
+ vec2 packNormalToVec2(vec3 v) {
86
+ vec2 p = v.xy * (1.0 / (abs(v.x) + abs(v.y) + abs(v.z)));
87
+ return v.z <= 0.0
88
+ ? (1.0 - abs(p.yx)) * signNotZero(p)
89
+ : p;
90
+ }
91
+
92
+ vec3 unpackVec2ToNormal(vec2 e) {
93
+ vec3 v = vec3(e.xy, 1.0 - abs(e.x) - abs(e.y));
94
+ if (v.z < 0.0) {
95
+ v.xy = (1.0 - abs(v.yx)) * signNotZero(v.xy);
96
+ }
97
+ return normalize(v);
98
+ }
99
+ `,o=`// Taken from: https://developer.download.nvidia.com/whitepapers/2008/PCSS_Integration.pdf
100
+ const vec2 poissonDisk[16] = vec2[16](
101
+ vec2(-0.94201624, -0.39906216),
102
+ vec2(0.94558609, -0.76890725),
103
+ vec2(-0.094184101, -0.9293887),
104
+ vec2(0.34495938, 0.2938776),
105
+ vec2(-0.91588581, 0.45771432),
106
+ vec2(-0.81544232, -0.87912464),
107
+ vec2(-0.38277543, 0.27676845),
108
+ vec2(0.97484398, 0.75648379),
109
+ vec2(0.44323325, -0.97511554),
110
+ vec2(0.53742981, -0.4737342),
111
+ vec2(-0.26496911, -0.41893023),
112
+ vec2(0.79197514, 0.19090188),
113
+ vec2(-0.2418884, 0.99706507),
114
+ vec2(-0.81409955, 0.9143759),
115
+ vec2(0.19984126, 0.78641367),
116
+ vec2(0.14383161, -0.1410079)
117
+ );
118
+
119
+ #define POISSON_DISK_COUNT (16)
120
+ `,r=`float raySphereFirstIntersection(
121
+ const vec3 origin,
122
+ const vec3 direction,
123
+ const vec3 center,
124
+ const float radius
125
+ ) {
126
+ vec3 a = origin - center;
127
+ float b = 2.0 * dot(direction, a);
128
+ float c = dot(a, a) - radius * radius;
129
+ float discriminant = b * b - 4.0 * c;
130
+ return discriminant < 0.0
131
+ ? -1.0
132
+ : (-b - sqrt(discriminant)) * 0.5;
133
+ }
134
+
135
+ float raySphereFirstIntersection(const vec3 origin, const vec3 direction, const float radius) {
136
+ return raySphereFirstIntersection(origin, direction, vec3(0.0), radius);
137
+ }
138
+
139
+ vec4 raySphereFirstIntersection(
140
+ const vec3 origin,
141
+ const vec3 direction,
142
+ const vec3 center,
143
+ const vec4 radius
144
+ ) {
145
+ vec3 a = origin - center;
146
+ float b = 2.0 * dot(direction, a);
147
+ vec4 c = dot(a, a) - radius * radius;
148
+ vec4 discriminant = b * b - 4.0 * c;
149
+ vec4 mask = step(discriminant, vec4(0.0));
150
+ return mix((-b - sqrt(max(vec4(0.0), discriminant))) * 0.5, vec4(-1.0), mask);
151
+ }
152
+
153
+ vec4 raySphereFirstIntersection(const vec3 origin, const vec3 direction, const vec4 radius) {
154
+ return raySphereFirstIntersection(origin, direction, vec3(0.0), radius);
155
+ }
156
+
157
+ float raySphereSecondIntersection(
158
+ const vec3 origin,
159
+ const vec3 direction,
160
+ const vec3 center,
161
+ const float radius
162
+ ) {
163
+ vec3 a = origin - center;
164
+ float b = 2.0 * dot(direction, a);
165
+ float c = dot(a, a) - radius * radius;
166
+ float discriminant = b * b - 4.0 * c;
167
+ return discriminant < 0.0
168
+ ? -1.0
169
+ : (-b + sqrt(discriminant)) * 0.5;
170
+ }
171
+
172
+ float raySphereSecondIntersection(const vec3 origin, const vec3 direction, const float radius) {
173
+ return raySphereSecondIntersection(origin, direction, vec3(0.0), radius);
174
+ }
175
+
176
+ vec4 raySphereSecondIntersection(
177
+ const vec3 origin,
178
+ const vec3 direction,
179
+ const vec3 center,
180
+ const vec4 radius
181
+ ) {
182
+ vec3 a = origin - center;
183
+ float b = 2.0 * dot(direction, a);
184
+ vec4 c = dot(a, a) - radius * radius;
185
+ vec4 discriminant = b * b - 4.0 * c;
186
+ vec4 mask = step(discriminant, vec4(0.0));
187
+ return mix((-b + sqrt(max(vec4(0.0), discriminant))) * 0.5, vec4(-1.0), mask);
188
+ }
189
+
190
+ vec4 raySphereSecondIntersection(const vec3 origin, const vec3 direction, const vec4 radius) {
191
+ return raySphereSecondIntersection(origin, direction, vec3(0.0), radius);
192
+ }
193
+
194
+ void raySphereIntersections(
195
+ const vec3 origin,
196
+ const vec3 direction,
197
+ const vec3 center,
198
+ const float radius,
199
+ out float intersection1,
200
+ out float intersection2
201
+ ) {
202
+ vec3 a = origin - center;
203
+ float b = 2.0 * dot(direction, a);
204
+ float c = dot(a, a) - radius * radius;
205
+ float discriminant = b * b - 4.0 * c;
206
+ if (discriminant < 0.0) {
207
+ intersection1 = -1.0;
208
+ intersection2 = -1.0;
209
+ return;
210
+ } else {
211
+ float Q = sqrt(discriminant);
212
+ intersection1 = (-b - Q) * 0.5;
213
+ intersection2 = (-b + Q) * 0.5;
214
+ }
215
+ }
216
+
217
+ void raySphereIntersections(
218
+ const vec3 origin,
219
+ const vec3 direction,
220
+ const float radius,
221
+ out float intersection1,
222
+ out float intersection2
223
+ ) {
224
+ raySphereIntersections(origin, direction, vec3(0.0), radius, intersection1, intersection2);
225
+ }
226
+
227
+ void raySphereIntersections(
228
+ const vec3 origin,
229
+ const vec3 direction,
230
+ const vec3 center,
231
+ const vec4 radius,
232
+ out vec4 intersection1,
233
+ out vec4 intersection2
234
+ ) {
235
+ vec3 a = origin - center;
236
+ float b = 2.0 * dot(direction, a);
237
+ vec4 c = dot(a, a) - radius * radius;
238
+ vec4 discriminant = b * b - 4.0 * c;
239
+ vec4 mask = step(discriminant, vec4(0.0));
240
+ vec4 Q = sqrt(max(vec4(0.0), discriminant));
241
+ intersection1 = mix((-b - Q) * 0.5, vec4(-1.0), mask);
242
+ intersection2 = mix((-b + Q) * 0.5, vec4(-1.0), mask);
243
+ }
244
+
245
+ void raySphereIntersections(
246
+ const vec3 origin,
247
+ const vec3 direction,
248
+ const vec4 radius,
249
+ out vec4 intersection1,
250
+ out vec4 intersection2
251
+ ) {
252
+ raySphereIntersections(origin, direction, vec3(0.0), radius, intersection1, intersection2);
253
+ }
254
+ `,i=`vec3 screenToView(
255
+ const vec2 uv,
256
+ const float depth,
257
+ const float viewZ,
258
+ const mat4 projectionMatrix,
259
+ const mat4 inverseProjectionMatrix
260
+ ) {
261
+ vec4 clip = vec4(vec3(uv, depth) * 2.0 - 1.0, 1.0);
262
+ float clipW = projectionMatrix[2][3] * viewZ + projectionMatrix[3][3];
263
+ clip *= clipW;
264
+ return (inverseProjectionMatrix * clip).xyz;
265
+ }
266
+ `,s=`// A fifth-order polynomial approximation of Turbo color map.
267
+ // See: https://observablehq.com/@mbostock/turbo
268
+ // prettier-ignore
269
+ vec3 turbo(const float x) {
270
+ float r = 0.1357 + x * (4.5974 - x * (42.3277 - x * (130.5887 - x * (150.5666 - x * 58.1375))));
271
+ float g = 0.0914 + x * (2.1856 + x * (4.8052 - x * (14.0195 - x * (4.2109 + x * 2.7747))));
272
+ float b = 0.1067 + x * (12.5925 - x * (60.1097 - x * (109.0745 - x * (88.5066 - x * 26.8183))));
273
+ return vec3(r, g, b);
274
+ }
275
+ `,a=n,v=e,d=t,m=c,f=o,p=r,l=i,u=s;exports.depth=a;exports.generators=v;exports.math=d;exports.packing=m;exports.poissonDisk=f;exports.raySphereIntersection=p;exports.transform=l;exports.turbo=u;
276
+ //# sourceMappingURL=shaders.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shaders.cjs","sources":["../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":["_depth","_generators","_math","_packing","_poissonDisk","_raySphereIntersection","_transform","_turbo","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,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,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,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,ECSFC,EAAgBR,EAChBS,EAAqBR,EACrBS,EAAeR,EACfS,EAAkBR,EAClBS,EAAsBR,EACtBS,EAAgCR,EAChCS,EAAoBR,EACpBS,EAAgBR"}