@takram/three-geospatial 0.0.1-alpha.5 → 0.0.1-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.cjs +1 -43
- package/build/index.cjs.map +1 -1
- package/build/index.js +403 -787
- package/build/index.js.map +1 -1
- package/build/r3f.js +2 -2
- package/build/shaders.cjs +397 -0
- package/build/shaders.cjs.map +1 -0
- package/build/shaders.js +408 -0
- package/build/shaders.js.map +1 -0
- package/package.json +7 -3
- package/src/DataLoader.ts +1 -0
- package/src/STBNLoader.ts +21 -0
- package/src/Texture3DLoader.ts +81 -0
- package/src/bufferGeometry.ts +2 -2
- package/src/constants.ts +6 -0
- package/src/defineShorthand.ts +68 -0
- package/src/index.ts +5 -10
- package/src/math.ts +36 -1
- package/src/r3f/index.ts +1 -0
- package/src/r3f/types.ts +63 -0
- package/src/resolveIncludes.test.ts +21 -0
- package/src/resolveIncludes.ts +22 -0
- package/src/shaders/cascadedShadowMaps.glsl +79 -0
- package/src/shaders/depth.glsl +3 -1
- package/src/shaders/generators.glsl +9 -0
- package/src/shaders/index.ts +19 -0
- package/src/shaders/math.glsl +92 -0
- package/src/shaders/poissonDisk.glsl +23 -0
- package/src/shaders/raySphereIntersection.glsl +134 -0
- package/src/shaders/turbo.glsl +9 -0
- package/src/typedArrayParsers.ts +19 -8
- package/src/types.ts +5 -51
- package/src/unrollLoops.ts +23 -0
- package/types/DataLoader.d.ts +4 -4
- package/types/STBNLoader.d.ts +1 -0
- package/types/Texture3DLoader.d.ts +5 -0
- package/types/TypedArrayLoader.d.ts +3 -3
- package/types/constants.d.ts +4 -0
- package/types/defineShorthand.d.ts +16 -0
- package/types/index.d.ts +5 -3
- package/types/math.d.ts +4 -1
- package/types/r3f/index.d.ts +1 -0
- package/types/r3f/types.d.ts +21 -0
- package/types/resolveIncludes.d.ts +5 -0
- package/types/shaders/index.d.ts +9 -0
- package/types/types.d.ts +5 -20
- package/types/unrollLoops.d.ts +1 -0
package/build/index.js.map
CHANGED
@@ -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/typedArrayParsers.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","getTypedArrayElementType","parseTypedArray","TypedArray","littleEndian","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","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","target","eye","quaternion","up","ellipsoid","Ellipsoid","rollAxis","camera","direction","s","t","y","_Rectangle","west","south","east","north","Geodetic","Rectangle","traverseChildren","z","maxZ","divisor","nextZ","scale","nextX","nextY","children","child","coord","TileCoordinate","vectorScratch","Vector2","TilingScheme","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/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]}
|
package/build/r3f.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx as a, jsxs as f } from "react/jsx-runtime";
|
2
2
|
import { forwardRef as m, useMemo as u, useEffect as l, useRef as E } from "react";
|
3
|
-
import { Group as h,
|
3
|
+
import { Group as h, Vector3 as d, Matrix4 as x } from "three";
|
4
4
|
import { E as p, G, a as w } from "./shared.js";
|
5
5
|
import { extend as F } from "@react-three/fiber";
|
6
|
-
const S = /* @__PURE__ */ new
|
6
|
+
const S = /* @__PURE__ */ new x(), N = /* @__PURE__ */ new G(), U = /* @__PURE__ */ new d();
|
7
7
|
class j extends h {
|
8
8
|
set(o, t, r, e = p.WGS84) {
|
9
9
|
const s = N.set(o, t, r).toECEF(U);
|
@@ -0,0 +1,397 @@
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=`// Reference: https://github.com/mrdoob/three.js/blob/r171/examples/jsm/csm/CSMShader.js
|
2
|
+
|
3
|
+
#ifndef SHADOW_CASCADE_COUNT
|
4
|
+
#error "SHADOW_CASCADE_COUNT macro must be defined."
|
5
|
+
#endif // SHADOW_CASCADE_COUNT
|
6
|
+
|
7
|
+
int getCascadeIndex(
|
8
|
+
const mat4 viewMatrix,
|
9
|
+
const vec3 worldPosition,
|
10
|
+
const vec2 intervals[SHADOW_CASCADE_COUNT],
|
11
|
+
const float near,
|
12
|
+
const float far
|
13
|
+
) {
|
14
|
+
vec4 viewPosition = viewMatrix * vec4(worldPosition, 1.0);
|
15
|
+
float depth = viewZToOrthographicDepth(viewPosition.z, near, far);
|
16
|
+
vec2 interval;
|
17
|
+
#pragma unroll_loop_start
|
18
|
+
for (int i = 0; i < 4; ++i) {
|
19
|
+
#if UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT
|
20
|
+
interval = intervals[i];
|
21
|
+
if (depth >= interval.x && depth < interval.y) {
|
22
|
+
return UNROLLED_LOOP_INDEX;
|
23
|
+
}
|
24
|
+
#endif // UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT
|
25
|
+
}
|
26
|
+
#pragma unroll_loop_end
|
27
|
+
return SHADOW_CASCADE_COUNT - 1;
|
28
|
+
}
|
29
|
+
|
30
|
+
int getFadedCascadeIndex(
|
31
|
+
const mat4 viewMatrix,
|
32
|
+
const vec3 worldPosition,
|
33
|
+
const vec2 intervals[SHADOW_CASCADE_COUNT],
|
34
|
+
const float near,
|
35
|
+
const float far,
|
36
|
+
const float jitter
|
37
|
+
) {
|
38
|
+
vec4 viewPosition = viewMatrix * vec4(worldPosition, 1.0);
|
39
|
+
float depth = viewZToOrthographicDepth(viewPosition.z, near, far);
|
40
|
+
|
41
|
+
vec2 interval;
|
42
|
+
float intervalCenter;
|
43
|
+
float closestEdge;
|
44
|
+
float margin;
|
45
|
+
int nextIndex = -1;
|
46
|
+
int prevIndex = -1;
|
47
|
+
float alpha;
|
48
|
+
|
49
|
+
#pragma unroll_loop_start
|
50
|
+
for (int i = 0; i < 4; ++i) {
|
51
|
+
#if UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT
|
52
|
+
interval = intervals[i];
|
53
|
+
intervalCenter = (interval.x + interval.y) * 0.5;
|
54
|
+
closestEdge = depth < intervalCenter ? interval.x : interval.y;
|
55
|
+
margin = closestEdge * closestEdge * 0.5;
|
56
|
+
interval += margin * vec2(-0.5, 0.5);
|
57
|
+
|
58
|
+
#if UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT - 1
|
59
|
+
if (depth >= interval.x && depth < interval.y) {
|
60
|
+
prevIndex = nextIndex;
|
61
|
+
nextIndex = UNROLLED_LOOP_INDEX;
|
62
|
+
alpha = saturate(min(depth - interval.x, interval.y - depth) / margin);
|
63
|
+
}
|
64
|
+
#else // UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT - 1
|
65
|
+
// Don't fade out the last cascade.
|
66
|
+
if (depth >= interval.x) {
|
67
|
+
prevIndex = nextIndex;
|
68
|
+
nextIndex = UNROLLED_LOOP_INDEX;
|
69
|
+
alpha = saturate((depth - interval.x) / margin);
|
70
|
+
}
|
71
|
+
#endif // UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT - 1
|
72
|
+
#endif // UNROLLED_LOOP_INDEX < SHADOW_CASCADE_COUNT
|
73
|
+
}
|
74
|
+
#pragma unroll_loop_end
|
75
|
+
|
76
|
+
return jitter <= alpha
|
77
|
+
? nextIndex
|
78
|
+
: prevIndex;
|
79
|
+
}
|
80
|
+
`,e=`// cSpell:words logdepthbuf
|
81
|
+
|
82
|
+
float reverseLogDepth(const float depth, const float near, const float far) {
|
83
|
+
#ifdef USE_LOGDEPTHBUF
|
84
|
+
float d = pow(2.0, depth * log2(far + 1.0)) - 1.0;
|
85
|
+
float a = far / (far - near);
|
86
|
+
float b = far * near / (near - far);
|
87
|
+
return a + b / d;
|
88
|
+
#else // USE_LOGDEPTHBUF
|
89
|
+
return depth;
|
90
|
+
#endif // USE_LOGDEPTHBUF
|
91
|
+
}
|
92
|
+
|
93
|
+
float linearizeDepth(const float depth, const float near, const float far) {
|
94
|
+
float ndc = depth * 2.0 - 1.0;
|
95
|
+
return 2.0 * near * far / (far + near - ndc * (far - near));
|
96
|
+
}
|
97
|
+
`,t=`float checker(const vec2 uv, const vec2 repeats) {
|
98
|
+
vec2 c = floor(repeats * uv);
|
99
|
+
float result = mod(c.x + c.y, 2.0);
|
100
|
+
return sign(result);
|
101
|
+
}
|
102
|
+
|
103
|
+
float checker(const vec2 uv, const float repeats) {
|
104
|
+
return checker(uv, vec2(repeats));
|
105
|
+
}
|
106
|
+
`,c=`#if !defined(saturate)
|
107
|
+
#define saturate(a) clamp(a, 0.0, 1.0)
|
108
|
+
#endif // !defined(saturate)
|
109
|
+
|
110
|
+
float remap(const float x, const float min1, const float max1, const float min2, const float max2) {
|
111
|
+
return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
|
112
|
+
}
|
113
|
+
|
114
|
+
vec2 remap(const vec2 x, const vec2 min1, const vec2 max1, const vec2 min2, const vec2 max2) {
|
115
|
+
return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
|
116
|
+
}
|
117
|
+
|
118
|
+
vec3 remap(const vec3 x, const vec3 min1, const vec3 max1, const vec3 min2, const vec3 max2) {
|
119
|
+
return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
|
120
|
+
}
|
121
|
+
|
122
|
+
vec4 remap(const vec4 x, const vec4 min1, const vec4 max1, const vec4 min2, const vec4 max2) {
|
123
|
+
return min2 + (x - min1) / (max1 - min1) * (max2 - min2);
|
124
|
+
}
|
125
|
+
|
126
|
+
float remapClamped(
|
127
|
+
const float x,
|
128
|
+
const float min1,
|
129
|
+
const float max1,
|
130
|
+
const float min2,
|
131
|
+
const float max2
|
132
|
+
) {
|
133
|
+
return clamp(min2 + (x - min1) / (max1 - min1) * (max2 - min2), min2, max2);
|
134
|
+
}
|
135
|
+
|
136
|
+
vec2 remapClamped(
|
137
|
+
const vec2 x,
|
138
|
+
const vec2 min1,
|
139
|
+
const vec2 max1,
|
140
|
+
const vec2 min2,
|
141
|
+
const vec2 max2
|
142
|
+
) {
|
143
|
+
return clamp(min2 + (x - min1) / (max1 - min1) * (max2 - min2), min2, max2);
|
144
|
+
}
|
145
|
+
|
146
|
+
vec3 remapClamped(
|
147
|
+
const vec3 x,
|
148
|
+
const vec3 min1,
|
149
|
+
const vec3 max1,
|
150
|
+
const vec3 min2,
|
151
|
+
const vec3 max2
|
152
|
+
) {
|
153
|
+
return clamp(min2 + (x - min1) / (max1 - min1) * (max2 - min2), min2, max2);
|
154
|
+
}
|
155
|
+
|
156
|
+
vec4 remapClamped(
|
157
|
+
const vec4 x,
|
158
|
+
const vec4 min1,
|
159
|
+
const vec4 max1,
|
160
|
+
const vec4 min2,
|
161
|
+
const vec4 max2
|
162
|
+
) {
|
163
|
+
return clamp(min2 + (x - min1) / (max1 - min1) * (max2 - min2), min2, max2);
|
164
|
+
}
|
165
|
+
|
166
|
+
// Implicitly remap to 0 and 1
|
167
|
+
float remap(const float x, const float min1, const float max1) {
|
168
|
+
return (x - min1) / (max1 - min1);
|
169
|
+
}
|
170
|
+
|
171
|
+
vec2 remap(const vec2 x, const vec2 min1, const vec2 max1) {
|
172
|
+
return (x - min1) / (max1 - min1);
|
173
|
+
}
|
174
|
+
|
175
|
+
vec3 remap(const vec3 x, const vec3 min1, const vec3 max1) {
|
176
|
+
return (x - min1) / (max1 - min1);
|
177
|
+
}
|
178
|
+
|
179
|
+
vec4 remap(const vec4 x, const vec4 min1, const vec4 max1) {
|
180
|
+
return (x - min1) / (max1 - min1);
|
181
|
+
}
|
182
|
+
|
183
|
+
float remapClamped(const float x, const float min1, const float max1) {
|
184
|
+
return saturate((x - min1) / (max1 - min1));
|
185
|
+
}
|
186
|
+
|
187
|
+
vec2 remapClamped(const vec2 x, const vec2 min1, const vec2 max1) {
|
188
|
+
return saturate((x - min1) / (max1 - min1));
|
189
|
+
}
|
190
|
+
|
191
|
+
vec3 remapClamped(const vec3 x, const vec3 min1, const vec3 max1) {
|
192
|
+
return saturate((x - min1) / (max1 - min1));
|
193
|
+
}
|
194
|
+
|
195
|
+
vec4 remapClamped(const vec4 x, const vec4 min1, const vec4 max1) {
|
196
|
+
return saturate((x - min1) / (max1 - min1));
|
197
|
+
}
|
198
|
+
`,i=`// Reference: https://jcgt.org/published/0003/02/01/paper.pdf
|
199
|
+
|
200
|
+
vec2 signNotZero(vec2 v) {
|
201
|
+
return vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);
|
202
|
+
}
|
203
|
+
|
204
|
+
vec2 packNormalToVec2(vec3 v) {
|
205
|
+
vec2 p = v.xy * (1.0 / (abs(v.x) + abs(v.y) + abs(v.z)));
|
206
|
+
return v.z <= 0.0
|
207
|
+
? (1.0 - abs(p.yx)) * signNotZero(p)
|
208
|
+
: p;
|
209
|
+
}
|
210
|
+
|
211
|
+
vec3 unpackVec2ToNormal(vec2 e) {
|
212
|
+
vec3 v = vec3(e.xy, 1.0 - abs(e.x) - abs(e.y));
|
213
|
+
if (v.z < 0.0) {
|
214
|
+
v.xy = (1.0 - abs(v.yx)) * signNotZero(v.xy);
|
215
|
+
}
|
216
|
+
return normalize(v);
|
217
|
+
}
|
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
|
+
`,r=`float raySphereFirstIntersection(
|
242
|
+
const vec3 origin,
|
243
|
+
const vec3 direction,
|
244
|
+
const vec3 center,
|
245
|
+
const float radius
|
246
|
+
) {
|
247
|
+
vec3 a = origin - center;
|
248
|
+
float b = 2.0 * dot(direction, a);
|
249
|
+
float c = dot(a, a) - radius * radius;
|
250
|
+
float discriminant = b * b - 4.0 * c;
|
251
|
+
return discriminant < 0.0
|
252
|
+
? -1.0
|
253
|
+
: (-b - sqrt(discriminant)) * 0.5;
|
254
|
+
}
|
255
|
+
|
256
|
+
float raySphereFirstIntersection(const vec3 origin, const vec3 direction, const float radius) {
|
257
|
+
return raySphereFirstIntersection(origin, direction, vec3(0.0), radius);
|
258
|
+
}
|
259
|
+
|
260
|
+
vec4 raySphereFirstIntersection(
|
261
|
+
const vec3 origin,
|
262
|
+
const vec3 direction,
|
263
|
+
const vec3 center,
|
264
|
+
const vec4 radius
|
265
|
+
) {
|
266
|
+
vec3 a = origin - center;
|
267
|
+
float b = 2.0 * dot(direction, a);
|
268
|
+
vec4 c = dot(a, a) - radius * radius;
|
269
|
+
vec4 discriminant = b * b - 4.0 * c;
|
270
|
+
vec4 mask = step(discriminant, vec4(0.0));
|
271
|
+
return mix((-b - sqrt(max(vec4(0.0), discriminant))) * 0.5, vec4(-1.0), mask);
|
272
|
+
}
|
273
|
+
|
274
|
+
vec4 raySphereFirstIntersection(const vec3 origin, const vec3 direction, const vec4 radius) {
|
275
|
+
return raySphereFirstIntersection(origin, direction, vec3(0.0), radius);
|
276
|
+
}
|
277
|
+
|
278
|
+
float raySphereSecondIntersection(
|
279
|
+
const vec3 origin,
|
280
|
+
const vec3 direction,
|
281
|
+
const vec3 center,
|
282
|
+
const float radius
|
283
|
+
) {
|
284
|
+
vec3 a = origin - center;
|
285
|
+
float b = 2.0 * dot(direction, a);
|
286
|
+
float c = dot(a, a) - radius * radius;
|
287
|
+
float discriminant = b * b - 4.0 * c;
|
288
|
+
return discriminant < 0.0
|
289
|
+
? -1.0
|
290
|
+
: (-b + sqrt(discriminant)) * 0.5;
|
291
|
+
}
|
292
|
+
|
293
|
+
float raySphereSecondIntersection(const vec3 origin, const vec3 direction, const float radius) {
|
294
|
+
return raySphereSecondIntersection(origin, direction, vec3(0.0), radius);
|
295
|
+
}
|
296
|
+
|
297
|
+
vec4 raySphereSecondIntersection(
|
298
|
+
const vec3 origin,
|
299
|
+
const vec3 direction,
|
300
|
+
const vec3 center,
|
301
|
+
const vec4 radius
|
302
|
+
) {
|
303
|
+
vec3 a = origin - center;
|
304
|
+
float b = 2.0 * dot(direction, a);
|
305
|
+
vec4 c = dot(a, a) - radius * radius;
|
306
|
+
vec4 discriminant = b * b - 4.0 * c;
|
307
|
+
vec4 mask = step(discriminant, vec4(0.0));
|
308
|
+
return mix((-b + sqrt(max(vec4(0.0), discriminant))) * 0.5, vec4(-1.0), mask);
|
309
|
+
}
|
310
|
+
|
311
|
+
vec4 raySphereSecondIntersection(const vec3 origin, const vec3 direction, const vec4 radius) {
|
312
|
+
return raySphereSecondIntersection(origin, direction, vec3(0.0), radius);
|
313
|
+
}
|
314
|
+
|
315
|
+
void raySphereIntersections(
|
316
|
+
const vec3 origin,
|
317
|
+
const vec3 direction,
|
318
|
+
const vec3 center,
|
319
|
+
const float radius,
|
320
|
+
out float intersection1,
|
321
|
+
out float intersection2
|
322
|
+
) {
|
323
|
+
vec3 a = origin - center;
|
324
|
+
float b = 2.0 * dot(direction, a);
|
325
|
+
float c = dot(a, a) - radius * radius;
|
326
|
+
float discriminant = b * b - 4.0 * c;
|
327
|
+
if (discriminant < 0.0) {
|
328
|
+
intersection1 = -1.0;
|
329
|
+
intersection2 = -1.0;
|
330
|
+
return;
|
331
|
+
} else {
|
332
|
+
float Q = sqrt(discriminant);
|
333
|
+
intersection1 = (-b - Q) * 0.5;
|
334
|
+
intersection2 = (-b + Q) * 0.5;
|
335
|
+
}
|
336
|
+
}
|
337
|
+
|
338
|
+
void raySphereIntersections(
|
339
|
+
const vec3 origin,
|
340
|
+
const vec3 direction,
|
341
|
+
const float radius,
|
342
|
+
out float intersection1,
|
343
|
+
out float intersection2
|
344
|
+
) {
|
345
|
+
raySphereIntersections(origin, direction, vec3(0.0), radius, intersection1, intersection2);
|
346
|
+
}
|
347
|
+
|
348
|
+
void raySphereIntersections(
|
349
|
+
const vec3 origin,
|
350
|
+
const vec3 direction,
|
351
|
+
const vec3 center,
|
352
|
+
const vec4 radius,
|
353
|
+
out vec4 intersection1,
|
354
|
+
out vec4 intersection2
|
355
|
+
) {
|
356
|
+
vec3 a = origin - center;
|
357
|
+
float b = 2.0 * dot(direction, a);
|
358
|
+
vec4 c = dot(a, a) - radius * radius;
|
359
|
+
vec4 discriminant = b * b - 4.0 * c;
|
360
|
+
vec4 mask = step(discriminant, vec4(0.0));
|
361
|
+
vec4 Q = sqrt(max(vec4(0.0), discriminant));
|
362
|
+
intersection1 = mix((-b - Q) * 0.5, vec4(-1.0), mask);
|
363
|
+
intersection2 = mix((-b + Q) * 0.5, vec4(-1.0), mask);
|
364
|
+
}
|
365
|
+
|
366
|
+
void raySphereIntersections(
|
367
|
+
const vec3 origin,
|
368
|
+
const vec3 direction,
|
369
|
+
const vec4 radius,
|
370
|
+
out vec4 intersection1,
|
371
|
+
out vec4 intersection2
|
372
|
+
) {
|
373
|
+
raySphereIntersections(origin, direction, vec3(0.0), radius, intersection1, intersection2);
|
374
|
+
}
|
375
|
+
`,a=`vec3 screenToView(
|
376
|
+
const vec2 uv,
|
377
|
+
const float depth,
|
378
|
+
const float viewZ,
|
379
|
+
const mat4 projectionMatrix,
|
380
|
+
const mat4 inverseProjectionMatrix
|
381
|
+
) {
|
382
|
+
vec4 clip = vec4(vec3(uv, depth) * 2.0 - 1.0, 1.0);
|
383
|
+
float clipW = projectionMatrix[2][3] * viewZ + projectionMatrix[3][3];
|
384
|
+
clip *= clipW;
|
385
|
+
return (inverseProjectionMatrix * clip).xyz;
|
386
|
+
}
|
387
|
+
`,s=`// A fifth-order polynomial approximation of Turbo color map.
|
388
|
+
// See: https://observablehq.com/@mbostock/turbo
|
389
|
+
// prettier-ignore
|
390
|
+
vec3 turbo(const float x) {
|
391
|
+
float r = 0.1357 + x * (4.5974 - x * (42.3277 - x * (130.5887 - x * (150.5666 - x * 58.1375))));
|
392
|
+
float g = 0.0914 + x * (2.1856 + x * (4.8052 - x * (14.0195 - x * (4.2109 + x * 2.7747))));
|
393
|
+
float b = 0.1067 + x * (12.5925 - x * (60.1097 - x * (109.0745 - x * (88.5066 - x * 26.8183))));
|
394
|
+
return vec3(r, g, b);
|
395
|
+
}
|
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;
|
397
|
+
//# sourceMappingURL=shaders.cjs.map
|
@@ -0,0 +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"}
|