@takram/three-geospatial 0.5.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -0
- package/build/index.cjs +1 -1
- package/build/index.cjs.map +1 -1
- package/build/index.js +318 -312
- package/build/index.js.map +1 -1
- package/build/r3f.cjs.map +1 -1
- package/build/r3f.js.map +1 -1
- package/build/shaders.cjs.map +1 -1
- package/build/shaders.js.map +1 -1
- package/build/shared.cjs.map +1 -1
- package/build/shared.js.map +1 -1
- package/build/shared2.cjs.map +1 -1
- package/build/shared2.js.map +1 -1
- package/build/shared3.cjs.map +1 -1
- package/build/shared3.js.map +1 -1
- package/build/webgpu.cjs +1 -1
- package/build/webgpu.cjs.map +1 -1
- package/build/webgpu.js +445 -463
- package/build/webgpu.js.map +1 -1
- package/package.json +2 -2
- package/src/decorators.ts +30 -10
- package/src/r3f/EastNorthUpFrame.tsx +2 -1
- package/src/r3f/EllipsoidMesh.tsx +4 -2
- package/src/webgpu/DownsampleThresholdNode.ts +3 -4
- package/src/webgpu/DualMipmapFilterNode.ts +1 -1
- package/src/webgpu/FnLayout.ts +5 -5
- package/src/webgpu/GaussianBlurNode.ts +3 -3
- package/src/webgpu/HighpVelocityNode.ts +8 -4
- package/src/webgpu/KawaseBlurNode.ts +3 -3
- package/src/webgpu/LensFlareNode.ts +10 -19
- package/src/webgpu/LensGlareNode.ts +8 -11
- package/src/webgpu/MipmapBlurNode.ts +7 -7
- package/src/webgpu/MipmapSurfaceBlurNode.ts +5 -6
- package/src/webgpu/OutputTexture3DNode.ts +1 -5
- package/src/webgpu/OutputTextureNode.ts +1 -4
- package/src/webgpu/RTTextureNode.ts +6 -8
- package/src/webgpu/TemporalAntialiasNode.ts +20 -23
- package/src/webgpu/accessors.ts +8 -10
- package/src/webgpu/generators.ts +7 -9
- package/src/webgpu/math.ts +13 -13
- package/src/webgpu/node.ts +3 -6
- package/src/webgpu/sampling.ts +3 -51
- package/src/webgpu/transformations.ts +30 -35
- package/src/webgpu/utils.ts +9 -9
- package/types/decorators.d.ts +2 -2
- package/types/webgpu/DownsampleThresholdNode.d.ts +4 -4
- package/types/webgpu/DualMipmapFilterNode.d.ts +2 -2
- package/types/webgpu/FnLayout.d.ts +3 -3
- package/types/webgpu/GaussianBlurNode.d.ts +2 -2
- package/types/webgpu/HighpVelocityNode.d.ts +2 -3
- package/types/webgpu/KawaseBlurNode.d.ts +2 -2
- package/types/webgpu/LensFlareNode.d.ts +4 -4
- package/types/webgpu/LensGhostNode.d.ts +1 -1
- package/types/webgpu/LensGlareNode.d.ts +5 -5
- package/types/webgpu/LensHaloNode.d.ts +2 -2
- package/types/webgpu/MipmapBlurNode.d.ts +4 -4
- package/types/webgpu/MipmapSurfaceBlurNode.d.ts +3 -3
- package/types/webgpu/OutputTexture3DNode.d.ts +1 -2
- package/types/webgpu/OutputTextureNode.d.ts +1 -2
- package/types/webgpu/RTTextureNode.d.ts +2 -3
- package/types/webgpu/SeparableFilterNode.d.ts +2 -2
- package/types/webgpu/SingleFilterNode.d.ts +1 -1
- package/types/webgpu/TemporalAntialiasNode.d.ts +6 -6
- package/types/webgpu/accessors.d.ts +8 -8
- package/types/webgpu/generators.d.ts +4 -4
- package/types/webgpu/node.d.ts +4 -5
- package/types/webgpu/sampling.d.ts +0 -1
- package/types/webgpu/transformations.d.ts +8 -8
- package/types/webgpu/utils.d.ts +1 -2
package/build/webgpu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpu.js","sources":["../src/webgpu/accessors.ts","../src/webgpu/debug.ts","../src/webgpu/OutputTextureNode.ts","../src/webgpu/FilterNode.ts","../src/webgpu/DualMipmapFilterNode.ts","../src/webgpu/MipmapBlurNode.ts","../src/webgpu/SingleFilterNode.ts","../src/webgpu/DownsampleThresholdNode.ts","../src/webgpu/FnLayout.ts","../src/webgpu/FnVar.ts","../src/webgpu/SeparableFilterNode.ts","../src/webgpu/GaussianBlurNode.ts","../src/webgpu/generators.ts","../src/webgpu/HighpVelocityNode.ts","../src/webgpu/KawaseBlurNode.ts","../src/webgpu/LensGhostNode.ts","../src/webgpu/RTTextureNode.ts","../src/webgpu/LensGlareNode.ts","../src/webgpu/LensHaloNode.ts","../src/webgpu/MipmapSurfaceBlurNode.ts","../src/webgpu/utils.ts","../src/webgpu/LensFlareNode.ts","../src/webgpu/math.ts","../src/webgpu/node.ts","../src/webgpu/OutputTexture3DNode.ts","../src/webgpu/sampling.ts","../src/webgpu/internals.ts","../src/webgpu/transformations.ts","../src/webgpu/TemporalAntialiasNode.ts"],"sourcesContent":null,"names":["caches","getCache","object","name","callback","cache","projectionMatrix","camera","reference","viewMatrix","inverseProjectionMatrix","inverseViewMatrix","cameraPositionWorld","uniform","Vector3","_","value","cameraNear","cameraFar","debugShader","renderer","mesh","Scene","Camera","result","error","debugFragmentNode","material","Mesh","QuadGeometry","debugVertexNode","debugNode","node","NodeMaterial","vec4","positionGeometry","hookFunction","target","args","OutputTextureNode","TextureNode","owner","texture","builder","outputTexture","nodeObject","FilterNode","TempNode","inputNode","NodeUpdateType","renderTarget","RenderTarget","HalfFloatType","RGBAFormat","LinearFilter","typeName","invariant","outputNode","resetRendererState","restoreRendererState","RendererUtils","DualMipmapFilterNode","levels","QuadMesh","Vector2","i","width","height","resolutionScale","w","h","downsampleRTs","upsampleRTs","inputTexelSize","downsampleNode","originalTexture","downsampleMaterial","upsampleMaterial","downsampleRT","upsampleRT","mipmapBlurDownsample","texelSize","center","uv","offset1","offset2","uv01","uv02","uv03","uv04","uv05","vec2","uv06","uv07","uv08","uv09","uv10","uv11","uv12","add","mipmapBlurUpsample","offset","uv1","uv2","uv3","uv4","uv5","uv6","uv7","uv8","MipmapBlurNode","mipmapBlur","SingleFilterNode","DownsampleThresholdNode","thresholdLevel","thresholdRange","outputColor","outputLuminance","luminance","scale","smoothstep","downsampleThreshold","transformType","type","FnLayout","typeOnly","layout","Fn","input","FnVar","SeparableFilterNode","horizontalRT","verticalRT","direction","getCoefficients","n","row0","row1","y","x","createGaussianKernel","kernelSize","edgeBias","coefficients","mid","sum","a","b","weights","offsets","linearWeights","linearOffsets","j","offset0","weight0","weight1","weight","linearWeightSum","GaussianBlurNode","offsetSize","output","gaussianBlur","interleavedGradientNoise","seed","dithering","screenCoordinate","time","noise","vec3","equirectGrid","lineWidth","count","equirectUV","deltaUV","fwidth","distance","abs","mask","HighpVelocityNode","Matrix4","current","previous","matrices","matrix","currentClip","positionLocal","previousClip","positionPrevious","currentNDC","previousNDC","sub","highpVelocity","KawaseBlurNode","kawaseBlur","LensGhostNode","intensity","sampleGhost","color","suv","d","uvNode","createRenderTarget","sizeScratch","RTTextureNode","size","rtTexture","convertToTexture","textureNode","createSpikeTexture","canvas","context","gradient","CanvasTexture","instanceStruct","struct","LensGlareNode","StorageBufferAttribute","instancedArray","MeshBasicNodeMaterial","AdditiveBlending","PlaneGeometry","PerspectiveCamera","hash","tileWidth","tileHeight","bufferCount","inputWidth","inputHeight","computeNode","counterBuffer","aspectRatio","outputWidth","outputHeight","arrayBuffer","spikePairCount","instanceBuffer","outputTexelSize","counterStorage","storage","tileSize","uvec2","If","globalId","Return","inputColor","inputLuminance","countBefore","atomicAdd","instance","phi","angle","spikeNode","luminanceThreshold","sizeScale","geometryRatio","instanceIndex","sin","cos","rotation","mat3","positionNDC","luminanceScale","position","spikeTexture","SRGBColorSpace","LensHaloNode","chromaticAberration","cubicRingMask","radius","thickness","v","min","mul","sampleHalo","fract","wuv","clampToBorder","MipmapSurfaceBlurNode","innerWeight","outerWeight","mix","mipmapSurfaceBlur","isWebGPU","NodeBuilder","LensFlareNode","thresholdNode","blurNode","ghostNode","haloNode","bloomNode","featuresNode","glareNode","threshold","blur","bloom","glare","lensFlare","raySphereIntersection","rayOrigin","rayDirection","dot","c","discriminant","intersection","Q","sqrt","raySpheresIntersectionsStruct","raySpheresIntersections","radii","near","far","rayEllipsoidIntersection","ro","rd","intersections","nodes","float","int","uint","bool","ivec2","bvec2","ivec3","uvec3","bvec3","ivec4","uvec4","bvec4","mat2","mat4","OutputTexture3DNode","Texture3DNode","outputTexture3D","textureBicubic","sharpness","textureSize","centerPosition","f","f2","f3","cf","w0","w1","w2","w3","w12","tc12","centerColor","tc0","tc3","textureCatmullRom","offset12","texPos0","texPos3","texPos12","halton","index","base","fraction","haltonOffsets","depthToViewZ","depth","perspective","logarithmic","logarithmicDepthToViewZ","perspectiveDepthToViewZ","orthographicDepthToViewZ","logarithmicToPerspectiveDepth","viewZ","viewZToPerspectiveDepth","perspectiveToLogarithmicDepth","viewZToLogarithmicDepth","screenToPositionView","ndc","turboCoeffs","turbo","depthToColor","options","equirectToDirectionWorld","lambda","PI2","PI","cosPhi","isSupportedCamera","clipAABB","history","minColor","maxColor","pClip","eClip","vClip","absUnit","maxUnit","max","select","varianceOffsets","varianceClipping","coord","gamma","moment1","moment2","neighbor","N","mean","variance","neighborOffsets","closestDepthStruct","getClosestDepth","depthNode","inputCoord","offsetCoord","emptyDepthTexture","DepthTexture","TemporalAntialiasNode","velocityNodeImmutable","velocityNode","velocity","resolveRT","historyRT","dx","dy","getPreviousDepth","screenUV","currentColor","closestDepth","closestCoord","velocityConfidence","prevUV","prevDepth","expectedDepth","depthConfidence","step","confidence","uvWeight","and","depthWeight","historyColor","clippedColor","velocityAbsTexel","screenSize","subpixelCorrection","temporalAlpha","onBeforePostProcessing","resolveMaterial","copyMaterial","temporalAntialias"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webgpu.js","sources":["../src/webgpu/accessors.ts","../src/webgpu/debug.ts","../src/webgpu/OutputTextureNode.ts","../src/webgpu/FilterNode.ts","../src/webgpu/DualMipmapFilterNode.ts","../src/webgpu/MipmapBlurNode.ts","../src/webgpu/SingleFilterNode.ts","../src/webgpu/DownsampleThresholdNode.ts","../src/webgpu/FnLayout.ts","../src/webgpu/FnVar.ts","../src/webgpu/SeparableFilterNode.ts","../src/webgpu/GaussianBlurNode.ts","../src/webgpu/generators.ts","../src/webgpu/HighpVelocityNode.ts","../src/webgpu/KawaseBlurNode.ts","../src/webgpu/LensGhostNode.ts","../src/webgpu/RTTextureNode.ts","../src/webgpu/LensGlareNode.ts","../src/webgpu/LensHaloNode.ts","../src/webgpu/MipmapSurfaceBlurNode.ts","../src/webgpu/utils.ts","../src/webgpu/LensFlareNode.ts","../src/webgpu/math.ts","../src/webgpu/node.ts","../src/webgpu/OutputTexture3DNode.ts","../src/webgpu/sampling.ts","../src/webgpu/internals.ts","../src/webgpu/transformations.ts","../src/webgpu/TemporalAntialiasNode.ts"],"names":["caches","getCache","object","name","callback","cache","projectionMatrix","camera","reference","viewMatrix","inverseProjectionMatrix","inverseViewMatrix","cameraPositionWorld","uniform","Vector3","_","value","cameraNear","cameraFar","debugShader","renderer","mesh","Scene","Camera","result","error","debugFragmentNode","material","Mesh","QuadGeometry","debugVertexNode","debugNode","node","NodeMaterial","vec4","positionGeometry","hookFunction","target","args","OutputTextureNode","TextureNode","owner","texture","builder","outputTexture","FilterNode","TempNode","inputNode","NodeUpdateType","renderTarget","RenderTarget","HalfFloatType","RGBAFormat","LinearFilter","typeName","invariant","outputNode","resetRendererState","restoreRendererState","RendererUtils","DualMipmapFilterNode","levels","QuadMesh","Vector2","i","width","height","resolutionScale","w","h","downsampleRTs","upsampleRTs","inputTexelSize","downsampleNode","originalTexture","downsampleMaterial","upsampleMaterial","downsampleRT","upsampleRT","mipmapBlurDownsample","texelSize","center","uv","offset1","offset2","uv01","uv02","uv03","uv04","uv05","vec2","uv06","uv07","uv08","uv09","uv10","uv11","uv12","add","mipmapBlurUpsample","offset","uv1","uv2","uv3","uv4","uv5","uv6","uv7","uv8","MipmapBlurNode","mipmapBlur","SingleFilterNode","DownsampleThresholdNode","thresholdLevel","thresholdRange","outputColor","outputLuminance","luminance","scale","smoothstep","downsampleThreshold","transformType","type","FnLayout","typeOnly","layout","Fn","input","FnVar","SeparableFilterNode","horizontalRT","verticalRT","direction","getCoefficients","n","row0","row1","y","x","createGaussianKernel","kernelSize","edgeBias","coefficients","mid","sum","a","b","weights","offsets","linearWeights","linearOffsets","j","offset0","weight0","weight1","weight","linearWeightSum","GaussianBlurNode","offsetSize","output","gaussianBlur","interleavedGradientNoise","seed","dithering","screenCoordinate","time","noise","vec3","equirectGrid","lineWidth","count","equirectUV","deltaUV","fwidth","distance","abs","mask","HighpVelocityNode","Matrix4","current","previous","matrices","matrix","currentClip","positionLocal","previousClip","positionPrevious","currentNDC","previousNDC","sub","highpVelocity","KawaseBlurNode","kawaseBlur","LensGhostNode","intensity","sampleGhost","color","suv","d","uvNode","createRenderTarget","sizeScratch","RTTextureNode","size","rtTexture","convertToTexture","textureNode","createSpikeTexture","canvas","context","gradient","CanvasTexture","instanceStruct","struct","LensGlareNode","StorageBufferAttribute","instancedArray","MeshBasicNodeMaterial","AdditiveBlending","PlaneGeometry","PerspectiveCamera","hash","tileWidth","tileHeight","bufferCount","inputWidth","inputHeight","computeNode","counterBuffer","aspectRatio","outputWidth","outputHeight","arrayBuffer","spikePairCount","instanceBuffer","outputTexelSize","counterStorage","storage","tileSize","uvec2","If","globalId","Return","inputColor","inputLuminance","countBefore","atomicAdd","instance","phi","angle","spikeNode","luminanceThreshold","sizeScale","geometryRatio","instanceIndex","sin","cos","rotation","mat3","positionNDC","luminanceScale","position","spikeTexture","SRGBColorSpace","LensHaloNode","chromaticAberration","cubicRingMask","radius","thickness","v","min","mul","sampleHalo","fract","wuv","clampToBorder","MipmapSurfaceBlurNode","innerWeight","outerWeight","mix","mipmapSurfaceBlur","isWebGPU","NodeBuilder","LensFlareNode","thresholdNode","blurNode","ghostNode","haloNode","bloomNode","featuresNode","glareNode","threshold","blur","bloom","glare","lensFlare","raySphereIntersection","rayOrigin","rayDirection","dot","c","discriminant","intersection","Q","sqrt","raySpheresIntersectionsStruct","raySpheresIntersections","radii","near","far","rayEllipsoidIntersection","ro","rd","intersections","nodes","float","int","uint","bool","ivec2","bvec2","ivec3","uvec3","bvec3","ivec4","uvec4","bvec4","mat2","mat4","Node","N","OutputTexture3DNode","Texture3DNode","outputTexture3D","textureCatmullRom","textureSize","centerPosition","f","w0","w1","w2","w3","w12","offset12","texPos0","texPos3","texPos12","halton","index","base","fraction","haltonOffsets","depthToViewZ","depth","perspective","logarithmic","logarithmicDepthToViewZ","perspectiveDepthToViewZ","orthographicDepthToViewZ","logarithmicToPerspectiveDepth","viewZ","viewZToPerspectiveDepth","perspectiveToLogarithmicDepth","viewZToLogarithmicDepth","screenToPositionView","ndc","turboCoeffs","turbo","depthToColor","options","equirectToDirectionWorld","lambda","PI2","PI","cosPhi","isSupportedCamera","clipAABB","history","minColor","maxColor","pClip","eClip","vClip","absUnit","maxUnit","max","select","varianceOffsets","varianceClipping","coord","gamma","moment1","moment2","neighbor","mean","variance","neighborOffsets","closestDepthStruct","getClosestDepth","depthNode","inputCoord","offsetCoord","emptyDepthTexture","DepthTexture","TemporalAntialiasNode","velocityNodeImmutable","velocityNode","velocity","resolveRT","historyRT","dx","dy","getPreviousDepth","screenUV","currentColor","closestDepth","closestCoord","velocityConfidence","prevUV","prevDepth","expectedDepth","depthConfidence","step","confidence","uvWeight","and","depthWeight","historyColor","clippedColor","velocityAbsTexel","screenSize","subpixelCorrection","temporalAlpha","onBeforePostProcessing","resolveMaterial","copyMaterial","temporalAntialias"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takram/three-geospatial",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Provides fundamental functions for rendering GIS data in Three.js and R3F",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"three",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@petamoriken/float16": "^3.9.3",
|
|
57
57
|
"tiny-invariant": "^1.3.3",
|
|
58
|
-
"type-fest": "^4.
|
|
58
|
+
"type-fest": "^5.4.4"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@react-three/fiber": ">=9.0.4",
|
package/src/decorators.ts
CHANGED
|
@@ -3,12 +3,12 @@ import { Material } from 'three'
|
|
|
3
3
|
import { clamp } from './math'
|
|
4
4
|
|
|
5
5
|
interface MaterialLike {
|
|
6
|
-
defines?: Record<string,
|
|
6
|
+
defines?: Record<string, unknown>
|
|
7
7
|
set needsUpdate(value: boolean)
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
interface EffectLike {
|
|
11
|
-
defines: Map<string,
|
|
11
|
+
defines: Map<string, unknown>
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export function define(name: string) {
|
|
@@ -60,6 +60,16 @@ export interface DefineIntDecoratorOptions {
|
|
|
60
60
|
max?: number
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
function coerceInt(value: unknown): number {
|
|
64
|
+
return typeof value === 'number'
|
|
65
|
+
? Math.floor(value)
|
|
66
|
+
: typeof value === 'string'
|
|
67
|
+
? parseInt(value, 10)
|
|
68
|
+
: typeof value === 'boolean'
|
|
69
|
+
? +value
|
|
70
|
+
: 0
|
|
71
|
+
}
|
|
72
|
+
|
|
63
73
|
export function defineInt(
|
|
64
74
|
name: string,
|
|
65
75
|
{
|
|
@@ -76,7 +86,7 @@ export function defineInt(
|
|
|
76
86
|
enumerable: true,
|
|
77
87
|
get(this: Extract<T, Material>): number {
|
|
78
88
|
const value = this.defines?.[name]
|
|
79
|
-
return value != null ?
|
|
89
|
+
return value != null ? coerceInt(value) : 0
|
|
80
90
|
},
|
|
81
91
|
set(this: Extract<T, Material>, value: number) {
|
|
82
92
|
const prevValue = this[propertyKey]
|
|
@@ -92,7 +102,7 @@ export function defineInt(
|
|
|
92
102
|
enumerable: true,
|
|
93
103
|
get(this: Extract<T, EffectLike>): number {
|
|
94
104
|
const value = this.defines.get(name)
|
|
95
|
-
return value != null ?
|
|
105
|
+
return value != null ? coerceInt(value) : 0
|
|
96
106
|
},
|
|
97
107
|
set(this: Extract<T, EffectLike>, value: number) {
|
|
98
108
|
const prevValue = this[propertyKey]
|
|
@@ -112,6 +122,16 @@ export interface DefineFloatDecoratorOptions {
|
|
|
112
122
|
precision?: number
|
|
113
123
|
}
|
|
114
124
|
|
|
125
|
+
function coerceFloat(value: unknown): number {
|
|
126
|
+
return typeof value === 'number'
|
|
127
|
+
? value
|
|
128
|
+
: typeof value === 'string'
|
|
129
|
+
? parseFloat(value)
|
|
130
|
+
: typeof value === 'boolean'
|
|
131
|
+
? +value
|
|
132
|
+
: 0
|
|
133
|
+
}
|
|
134
|
+
|
|
115
135
|
export function defineFloat(
|
|
116
136
|
name: string,
|
|
117
137
|
{
|
|
@@ -129,7 +149,7 @@ export function defineFloat(
|
|
|
129
149
|
enumerable: true,
|
|
130
150
|
get(this: Extract<T, Material>): number {
|
|
131
151
|
const value = this.defines?.[name]
|
|
132
|
-
return value != null ?
|
|
152
|
+
return value != null ? coerceFloat(value) : 0
|
|
133
153
|
},
|
|
134
154
|
set(this: Extract<T, Material>, value: number) {
|
|
135
155
|
const prevValue = this[propertyKey]
|
|
@@ -145,7 +165,7 @@ export function defineFloat(
|
|
|
145
165
|
enumerable: true,
|
|
146
166
|
get(this: Extract<T, EffectLike>): number {
|
|
147
167
|
const value = this.defines.get(name)
|
|
148
|
-
return value != null ?
|
|
168
|
+
return value != null ? coerceFloat(value) : 0
|
|
149
169
|
},
|
|
150
170
|
set(this: Extract<T, EffectLike>, value: number) {
|
|
151
171
|
const prevValue = this[propertyKey]
|
|
@@ -174,8 +194,8 @@ export function defineExpression(
|
|
|
174
194
|
if (target instanceof Material) {
|
|
175
195
|
Object.defineProperty(target, propertyKey, {
|
|
176
196
|
enumerable: true,
|
|
177
|
-
get(this: Extract<T, Material>):
|
|
178
|
-
return this.defines?.[name]
|
|
197
|
+
get(this: Extract<T, Material>): unknown {
|
|
198
|
+
return this.defines?.[name]
|
|
179
199
|
},
|
|
180
200
|
set(this: Extract<T, Material>, value: string) {
|
|
181
201
|
if (value !== this[propertyKey]) {
|
|
@@ -192,8 +212,8 @@ export function defineExpression(
|
|
|
192
212
|
} else {
|
|
193
213
|
Object.defineProperty(target, propertyKey, {
|
|
194
214
|
enumerable: true,
|
|
195
|
-
get(this: Extract<T, EffectLike>):
|
|
196
|
-
return this.defines.get(name)
|
|
215
|
+
get(this: Extract<T, EffectLike>): unknown {
|
|
216
|
+
return this.defines.get(name)
|
|
197
217
|
},
|
|
198
218
|
set(this: Extract<T, EffectLike>, value: string) {
|
|
199
219
|
if (value !== this[propertyKey]) {
|
|
@@ -27,7 +27,8 @@ class EastNorthUpFrameGroup extends Group {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export interface EastNorthUpFrameProps
|
|
30
|
-
extends
|
|
30
|
+
extends
|
|
31
|
+
ElementProps<typeof EastNorthUpFrameGroup, EastNorthUpFrameGroup>,
|
|
31
32
|
SetOptional<GeodeticLike, 'height'> {
|
|
32
33
|
ellipsoid?: Ellipsoid
|
|
33
34
|
children?: ReactNode
|
|
@@ -14,8 +14,10 @@ declare module '@react-three/fiber' {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export interface EllipsoidMeshProps
|
|
18
|
-
|
|
17
|
+
export interface EllipsoidMeshProps extends Omit<
|
|
18
|
+
ElementProps<typeof Mesh>,
|
|
19
|
+
'args'
|
|
20
|
+
> {
|
|
19
21
|
args?: ConstructorParameters<typeof EllipsoidGeometry>
|
|
20
22
|
}
|
|
21
23
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { luminance,
|
|
1
|
+
import { luminance, smoothstep, uniform, vec4 } from 'three/tsl'
|
|
2
2
|
import type { TextureNode } from 'three/webgpu'
|
|
3
3
|
import invariant from 'tiny-invariant'
|
|
4
4
|
|
|
5
5
|
import { mipmapBlurDownsample } from './MipmapBlurNode'
|
|
6
|
-
import type { Node
|
|
6
|
+
import type { Node } from './node'
|
|
7
7
|
import { SingleFilterNode } from './SingleFilterNode'
|
|
8
8
|
|
|
9
9
|
export class DownsampleThresholdNode extends SingleFilterNode {
|
|
@@ -36,5 +36,4 @@ export class DownsampleThresholdNode extends SingleFilterNode {
|
|
|
36
36
|
|
|
37
37
|
export const downsampleThreshold = (
|
|
38
38
|
...args: ConstructorParameters<typeof DownsampleThresholdNode>
|
|
39
|
-
):
|
|
40
|
-
nodeObject(new DownsampleThresholdNode(...args))
|
|
39
|
+
): DownsampleThresholdNode => new DownsampleThresholdNode(...args)
|
|
@@ -24,7 +24,7 @@ export abstract class DualMipmapFilterNode extends FilterNode {
|
|
|
24
24
|
private rendererState?: RendererUtils.RendererState
|
|
25
25
|
|
|
26
26
|
protected readonly inputTexelSize = uniform(new Vector2())
|
|
27
|
-
protected readonly downsampleNode = texture(
|
|
27
|
+
protected readonly downsampleNode = texture()
|
|
28
28
|
|
|
29
29
|
constructor(inputNode: TextureNode | null | undefined, levels: number) {
|
|
30
30
|
super(inputNode)
|
package/src/webgpu/FnLayout.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
import { Fn } from 'three/tsl'
|
|
8
8
|
import type { NodeBuilder, Texture3DNode, TextureNode } from 'three/webgpu'
|
|
9
9
|
|
|
10
|
-
import type {
|
|
10
|
+
import type { Node, NodeType } from './node'
|
|
11
11
|
|
|
12
12
|
// Note that "texture" and "texture3D" are just placeholders until TSL supports
|
|
13
13
|
// texture types.
|
|
@@ -29,13 +29,13 @@ export interface FnLayout<
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
type InferNodeObject<T extends FnLayoutType> = T extends NodeType
|
|
32
|
-
?
|
|
32
|
+
? Node<T>
|
|
33
33
|
: T extends Struct
|
|
34
34
|
? ReturnType<T>
|
|
35
35
|
: T extends 'texture'
|
|
36
|
-
?
|
|
36
|
+
? TextureNode
|
|
37
37
|
: T extends 'texture3D'
|
|
38
|
-
?
|
|
38
|
+
? Texture3DNode
|
|
39
39
|
: never
|
|
40
40
|
|
|
41
41
|
type InferNodeObjects<Inputs extends readonly FnLayoutInput[]> = {
|
|
@@ -51,7 +51,7 @@ export type FnLayoutResult<
|
|
|
51
51
|
> = (
|
|
52
52
|
callback: (
|
|
53
53
|
...args: [] extends Nodes ? [NodeBuilder] : [Nodes, NodeBuilder]
|
|
54
|
-
) => InferNodeObject<T> |
|
|
54
|
+
) => InferNodeObject<T> | ShaderCallNodeInternal
|
|
55
55
|
) => ShaderNodeFn<ProxiedTuple<Nodes>>
|
|
56
56
|
|
|
57
57
|
function transformType(type: FnLayoutType): string {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { add, Fn,
|
|
1
|
+
import { add, Fn, uv } from 'three/tsl'
|
|
2
2
|
import type { NodeBuilder, TextureNode } from 'three/webgpu'
|
|
3
3
|
import invariant from 'tiny-invariant'
|
|
4
4
|
|
|
5
|
-
import type { Node
|
|
5
|
+
import type { Node } from './node'
|
|
6
6
|
import { SeparableFilterNode } from './SeparableFilterNode'
|
|
7
7
|
|
|
8
8
|
// Reference: https://github.com/pmndrs/postprocessing/blob/v6.37.8/src/core/GaussKernel.js
|
|
@@ -126,4 +126,4 @@ export class GaussianBlurNode extends SeparableFilterNode {
|
|
|
126
126
|
|
|
127
127
|
export const gaussianBlur = (
|
|
128
128
|
...args: ConstructorParameters<typeof GaussianBlurNode>
|
|
129
|
-
):
|
|
129
|
+
): GaussianBlurNode => new GaussianBlurNode(...args)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Matrix4, type Object3D } from 'three'
|
|
2
|
-
import type { NodeFrame } from 'three/src/Three.WebGPU.js'
|
|
3
2
|
import {
|
|
4
3
|
nodeImmutable,
|
|
5
4
|
positionLocal,
|
|
@@ -7,7 +6,12 @@ import {
|
|
|
7
6
|
sub,
|
|
8
7
|
uniform
|
|
9
8
|
} from 'three/tsl'
|
|
10
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
NodeUpdateType,
|
|
11
|
+
TempNode,
|
|
12
|
+
type NodeBuilder,
|
|
13
|
+
type NodeFrame
|
|
14
|
+
} from 'three/webgpu'
|
|
11
15
|
|
|
12
16
|
export class HighpVelocityNode extends TempNode {
|
|
13
17
|
static override get type(): string {
|
|
@@ -17,10 +21,10 @@ export class HighpVelocityNode extends TempNode {
|
|
|
17
21
|
projectionMatrix?: Matrix4 | null
|
|
18
22
|
|
|
19
23
|
private readonly currentProjectionMatrix = uniform(new Matrix4())
|
|
20
|
-
private readonly previousProjectionMatrix = uniform('mat4')
|
|
24
|
+
private readonly previousProjectionMatrix = uniform('mat4' as const)
|
|
21
25
|
|
|
22
26
|
private readonly currentModelViewMatrix = uniform(new Matrix4())
|
|
23
|
-
private readonly previousModelViewMatrix = uniform('mat4')
|
|
27
|
+
private readonly previousModelViewMatrix = uniform('mat4' as const)
|
|
24
28
|
private readonly objectModelViewMatrices = new WeakMap<Object3D, Matrix4>()
|
|
25
29
|
|
|
26
30
|
constructor() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { add,
|
|
1
|
+
import { add, uv, vec2, vec4 } from 'three/tsl'
|
|
2
2
|
import type { NodeBuilder, TextureNode } from 'three/webgpu'
|
|
3
3
|
import invariant from 'tiny-invariant'
|
|
4
4
|
|
|
5
5
|
import { DualMipmapFilterNode } from './DualMipmapFilterNode'
|
|
6
|
-
import type { Node
|
|
6
|
+
import type { Node } from './node'
|
|
7
7
|
|
|
8
8
|
export class KawaseBlurNode extends DualMipmapFilterNode {
|
|
9
9
|
static override get type(): string {
|
|
@@ -73,4 +73,4 @@ export class KawaseBlurNode extends DualMipmapFilterNode {
|
|
|
73
73
|
|
|
74
74
|
export const kawaseBlur = (
|
|
75
75
|
...args: ConstructorParameters<typeof KawaseBlurNode>
|
|
76
|
-
):
|
|
76
|
+
): KawaseBlurNode => new KawaseBlurNode(...args)
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import { add, Fn,
|
|
2
|
-
import {
|
|
3
|
-
TempNode,
|
|
4
|
-
type Node,
|
|
5
|
-
type NodeBuilder,
|
|
6
|
-
type TextureNode
|
|
7
|
-
} from 'three/webgpu'
|
|
1
|
+
import { add, Fn, uniform } from 'three/tsl'
|
|
2
|
+
import { TempNode, type NodeBuilder, type TextureNode } from 'three/webgpu'
|
|
8
3
|
import invariant from 'tiny-invariant'
|
|
9
4
|
|
|
10
5
|
import { DownsampleThresholdNode } from './DownsampleThresholdNode'
|
|
@@ -13,7 +8,7 @@ import { LensGhostNode } from './LensGhostNode'
|
|
|
13
8
|
import { LensGlareNode } from './LensGlareNode'
|
|
14
9
|
import { LensHaloNode } from './LensHaloNode'
|
|
15
10
|
import { MipmapSurfaceBlurNode } from './MipmapSurfaceBlurNode'
|
|
16
|
-
import type {
|
|
11
|
+
import type { Node } from './node'
|
|
17
12
|
import {
|
|
18
13
|
convertToTexture,
|
|
19
14
|
rtTexture,
|
|
@@ -89,15 +84,13 @@ export class LensFlareNode extends TempNode {
|
|
|
89
84
|
// input → threshold → glare
|
|
90
85
|
glareNode.inputNode = threshold
|
|
91
86
|
|
|
92
|
-
const bloom =
|
|
93
|
-
this.bloomIntensity
|
|
94
|
-
)
|
|
87
|
+
const bloom = bloomNode.getTextureNode().mul(this.bloomIntensity)
|
|
95
88
|
const glare = glareNode.getTextureNode()
|
|
96
89
|
|
|
97
90
|
// TODO: Add an option to switch to mixing the bloom:
|
|
98
91
|
return Fn(() => {
|
|
99
92
|
// TODO: Prevent the output from becoming too bright.
|
|
100
|
-
const output =
|
|
93
|
+
const output = inputNode
|
|
101
94
|
output.addAssign(bloom)
|
|
102
95
|
if (isWebGPU(builder)) {
|
|
103
96
|
output.addAssign(glare)
|
|
@@ -118,11 +111,9 @@ export class LensFlareNode extends TempNode {
|
|
|
118
111
|
}
|
|
119
112
|
}
|
|
120
113
|
|
|
121
|
-
export const lensFlare = (inputNode: Node | null):
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
inputNode
|
|
125
|
-
|
|
126
|
-
: null
|
|
127
|
-
)
|
|
114
|
+
export const lensFlare = (inputNode: Node | null): LensFlareNode =>
|
|
115
|
+
new LensFlareNode(
|
|
116
|
+
inputNode != null
|
|
117
|
+
? convertToTexture(inputNode, 'LensFlareNode.Input')
|
|
118
|
+
: null
|
|
128
119
|
)
|