s3m-three 0.3.7 → 0.3.9
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/dist/anim/Animator.d.ts +111 -0
- package/dist/anim/Animator.d.ts.map +1 -0
- package/dist/anim/Animator.js +382 -0
- package/dist/anim/Animator.js.map +1 -0
- package/dist/anim/Path.d.ts +30 -0
- package/dist/anim/Path.d.ts.map +1 -0
- package/dist/anim/Path.js +100 -0
- package/dist/anim/Path.js.map +1 -0
- package/dist/anim/easing.d.ts +70 -0
- package/dist/anim/easing.d.ts.map +1 -0
- package/dist/anim/easing.js +170 -0
- package/dist/anim/easing.js.map +1 -0
- package/dist/anim/index.d.ts +6 -0
- package/dist/anim/index.d.ts.map +1 -0
- package/dist/anim/index.js +4 -0
- package/dist/anim/index.js.map +1 -0
- package/dist/browser/s3m-three.iife.ext-three.js +218 -39
- package/dist/browser/s3m-three.iife.js +218 -39
- package/dist/core/types.d.ts +20 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/render/EdgeLines.d.ts +68 -14
- package/dist/render/EdgeLines.d.ts.map +1 -1
- package/dist/render/EdgeLines.js +125 -8
- package/dist/render/EdgeLines.js.map +1 -1
- package/dist/render/FeatureStyleManager.d.ts +62 -1
- package/dist/render/FeatureStyleManager.d.ts.map +1 -1
- package/dist/render/FeatureStyleManager.js +331 -60
- package/dist/render/FeatureStyleManager.js.map +1 -1
- package/dist/render/MergeVertices.d.ts +7 -0
- package/dist/render/MergeVertices.d.ts.map +1 -1
- package/dist/render/MergeVertices.js +10 -1
- package/dist/render/MergeVertices.js.map +1 -1
- package/dist/render/OrthoProjection.d.ts +6 -0
- package/dist/render/OrthoProjection.d.ts.map +1 -1
- package/dist/render/OrthoProjection.js +48 -0
- package/dist/render/OrthoProjection.js.map +1 -1
- package/dist/render/S3MViewer.d.ts +235 -9
- package/dist/render/S3MViewer.d.ts.map +1 -1
- package/dist/render/S3MViewer.js +880 -68
- package/dist/render/S3MViewer.js.map +1 -1
- package/dist/render/StyleMaterial.d.ts +28 -0
- package/dist/render/StyleMaterial.d.ts.map +1 -1
- package/dist/render/StyleMaterial.js +190 -21
- package/dist/render/StyleMaterial.js.map +1 -1
- package/dist/tileset/S3MTileset.d.ts.map +1 -1
- package/dist/tileset/S3MTileset.js +3 -1
- package/dist/tileset/S3MTileset.js.map +1 -1
- package/docs/ANIMATION.md +534 -0
- package/docs/API.md +2 -0
- package/package.json +1 -1
- package/src/anim/Animator.ts +460 -0
- package/src/anim/Path.ts +107 -0
- package/src/anim/easing.ts +195 -0
- package/src/anim/index.ts +10 -0
- package/src/core/types.ts +10 -0
- package/src/index.ts +16 -0
- package/src/render/EdgeLines.ts +161 -15
- package/src/render/FeatureStyleManager.ts +414 -65
- package/src/render/MergeVertices.ts +11 -1
- package/src/render/OrthoProjection.ts +52 -0
- package/src/render/S3MViewer.ts +1012 -64
- package/src/render/StyleMaterial.ts +211 -22
- package/src/tileset/S3MTileset.ts +3 -1
|
@@ -78,10 +78,18 @@ export const DEFAULT_STYLE = {
|
|
|
78
78
|
edgeThreshold: 55,
|
|
79
79
|
roofThreshold: 0.65,
|
|
80
80
|
texMix: 0,
|
|
81
|
+
ambientGain: 0,
|
|
81
82
|
depthWrite: true,
|
|
83
|
+
fadeIn: 0,
|
|
82
84
|
};
|
|
83
|
-
const DUMMY_DATA = new Float32Array([
|
|
84
|
-
|
|
85
|
+
const DUMMY_DATA = new Float32Array([
|
|
86
|
+
-1, -1, -1, 0, // Row 0: color rgb, elevation/hidden
|
|
87
|
+
0, 0, 0, 0, // Row 1: translation xyz, opacity
|
|
88
|
+
1, 0, 0, 0, // Row 2: rot row 0, pivot.x
|
|
89
|
+
0, 1, 0, 0, // Row 3: rot row 1, pivot.y
|
|
90
|
+
0, 0, 1, 0, // Row 4: rot row 2, pivot.z
|
|
91
|
+
]);
|
|
92
|
+
export const DUMMY_BATCH_TEX = new THREE.DataTexture(DUMMY_DATA, 1, 5, THREE.RGBAFormat, THREE.FloatType);
|
|
85
93
|
DUMMY_BATCH_TEX.minFilter = THREE.NearestFilter;
|
|
86
94
|
DUMMY_BATCH_TEX.magFilter = THREE.NearestFilter;
|
|
87
95
|
DUMMY_BATCH_TEX.needsUpdate = true;
|
|
@@ -122,6 +130,25 @@ export function createSharedUniforms() {
|
|
|
122
130
|
uRoofThreshold: { value: 0.65 },
|
|
123
131
|
/** 与模型原色贴图混合强度:0 = 纯色覆盖,1 = 叠乘原色贴图 */
|
|
124
132
|
uTexMix: { value: 0 },
|
|
133
|
+
/** 基础底色增益 / 暗部补偿(0~1,默认 0.0) */
|
|
134
|
+
uAmbientGain: { value: 0 },
|
|
135
|
+
/** 双纹理交叉淡化插值系数(0 = 纯 uBatchTex, 1 = 纯 uBatchTex2) */
|
|
136
|
+
uBatchMix: { value: 0 },
|
|
137
|
+
/**
|
|
138
|
+
* 图层整体透明度:在片元里乘进 diffuseColor.a。
|
|
139
|
+
*
|
|
140
|
+
* 为什么不做成 `material.opacity`:那是逐材质写入,几百块瓦片就是 O(meshes),
|
|
141
|
+
* 而且跨 0.999 改 `material.transparent` 会换 program(`opaque` 参与缓存键)。
|
|
142
|
+
* 放到共享 uniform 里,透明度动画就退化成一次 float 赋值。
|
|
143
|
+
*/
|
|
144
|
+
uOpacity: { value: 1 },
|
|
145
|
+
/** 棱线淡入淡出乘子:setEdges 过渡期间 0→1,新插入的瓦片自动继承 */
|
|
146
|
+
uEdgeFade: { value: 1 },
|
|
147
|
+
/**
|
|
148
|
+
* 整体压暗乘子:`mode` 这类不可插值的切换用它做 fade-through
|
|
149
|
+
* (压暗 → 换模式 → 亮回来),比硬切自然得多。
|
|
150
|
+
*/
|
|
151
|
+
uFade: { value: 1 },
|
|
125
152
|
};
|
|
126
153
|
}
|
|
127
154
|
const VERT_PARS = /* glsl */ `
|
|
@@ -145,6 +172,8 @@ const VERT_PARS = /* glsl */ `
|
|
|
145
172
|
uniform float uSelWhole;
|
|
146
173
|
uniform float uSelElevation;
|
|
147
174
|
uniform sampler2D uBatchTex;
|
|
175
|
+
uniform sampler2D uBatchTex2;
|
|
176
|
+
uniform float uBatchMix;
|
|
148
177
|
uniform float uBatchTexWidth;
|
|
149
178
|
uniform int uBatchTexActive;
|
|
150
179
|
varying float vBatchId;
|
|
@@ -153,6 +182,11 @@ const VERT_PARS = /* glsl */ `
|
|
|
153
182
|
varying vec3 vWorldNormal;
|
|
154
183
|
varying vec3 vWorldPos;
|
|
155
184
|
|
|
185
|
+
// 跨 chunk 共享的顶点姿态变量(在 beginnormal_vertex 建立,begin_vertex / worldpos 使用)
|
|
186
|
+
vec3 s3mCustomOffset;
|
|
187
|
+
mat3 s3mRot;
|
|
188
|
+
vec3 s3mPivot;
|
|
189
|
+
|
|
156
190
|
/** 当前图元所属单体的控制位:实例化取实例属性,其余取逐顶点属性 */
|
|
157
191
|
float s3mBatchRaw() {
|
|
158
192
|
#ifdef USE_INSTANCING
|
|
@@ -161,26 +195,83 @@ const VERT_PARS = /* glsl */ `
|
|
|
161
195
|
return aBatchId;
|
|
162
196
|
#endif
|
|
163
197
|
}
|
|
198
|
+
|
|
199
|
+
vec4 s3mSampleBatch( sampler2D texA, sampler2D texB, vec2 uv, float mixVal ) {
|
|
200
|
+
vec4 vA = texture2D( texA, uv );
|
|
201
|
+
if ( mixVal <= 0.0001 ) return vA;
|
|
202
|
+
vec4 vB = texture2D( texB, uv );
|
|
203
|
+
return mix( vA, vB, mixVal );
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
vec4 s3mSampleBatchRow0( sampler2D texA, sampler2D texB, vec2 uv, float mixVal ) {
|
|
207
|
+
vec4 vA = texture2D( texA, uv );
|
|
208
|
+
if ( mixVal <= 0.0001 ) return vA;
|
|
209
|
+
vec4 vB = texture2D( texB, uv );
|
|
210
|
+
vec4 res = mix( vA, vB, mixVal );
|
|
211
|
+
if ( vA.r < 0.0 && vB.r >= 0.0 ) {
|
|
212
|
+
res.rgb = vB.rgb;
|
|
213
|
+
} else if ( vA.r >= 0.0 && vB.r < 0.0 ) {
|
|
214
|
+
res.rgb = vA.rgb;
|
|
215
|
+
}
|
|
216
|
+
if ( vA.a < -0.5 || vB.a < -0.5 ) {
|
|
217
|
+
res.a = ( mixVal >= 0.5 ) ? vB.a : vA.a;
|
|
218
|
+
}
|
|
219
|
+
return res;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
vec4 s3mSampleBatchRow1( sampler2D texA, sampler2D texB, vec2 uv, float mixVal ) {
|
|
223
|
+
vec4 vA = texture2D( texA, uv );
|
|
224
|
+
if ( mixVal <= 0.0001 ) return vA;
|
|
225
|
+
vec4 vB = texture2D( texB, uv );
|
|
226
|
+
vec4 res = mix( vA, vB, mixVal );
|
|
227
|
+
if ( vA.a == 0.0 && vB.a > 0.0 ) {
|
|
228
|
+
res.a = mix( 1.0, vB.a, mixVal );
|
|
229
|
+
} else if ( vA.a > 0.0 && vB.a == 0.0 ) {
|
|
230
|
+
res.a = mix( vA.a, 1.0, mixVal );
|
|
231
|
+
}
|
|
232
|
+
return res;
|
|
233
|
+
}
|
|
164
234
|
`;
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
235
|
+
const VERT_SETUP = /* glsl */ `
|
|
236
|
+
s3mCustomOffset = vec3( 0.0 );
|
|
237
|
+
s3mRot = mat3( 1.0 );
|
|
238
|
+
s3mPivot = vec3( 0.0 );
|
|
239
|
+
float s3mBatchSetup = s3mBatchRaw();
|
|
240
|
+
if ( uBatchTexActive > 0 && s3mBatchSetup >= 0.0 ) {
|
|
241
|
+
float s3mU = ( s3mBatchSetup + 0.5 ) / uBatchTexWidth;
|
|
242
|
+
vec4 bState = s3mSampleBatchRow0( uBatchTex, uBatchTex2, vec2( s3mU, 0.1 ), uBatchMix );
|
|
243
|
+
if ( bState.a >= -0.5 ) {
|
|
244
|
+
vec4 bOffset = s3mSampleBatchRow1( uBatchTex, uBatchTex2, vec2( s3mU, 0.3 ), uBatchMix );
|
|
174
245
|
s3mCustomOffset = bOffset.xyz;
|
|
175
246
|
if ( s3mCustomOffset.z == 0.0 && bState.a > 0.0 ) {
|
|
176
247
|
s3mCustomOffset.z = bState.a;
|
|
177
248
|
}
|
|
249
|
+
vec4 r2 = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.5 ), uBatchMix );
|
|
250
|
+
vec4 r3 = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.7 ), uBatchMix );
|
|
251
|
+
vec4 r4 = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.9 ), uBatchMix );
|
|
252
|
+
s3mRot = mat3(
|
|
253
|
+
vec3( r2.x, r3.x, r4.x ),
|
|
254
|
+
vec3( r2.y, r3.y, r4.y ),
|
|
255
|
+
vec3( r2.z, r3.z, r4.z )
|
|
256
|
+
);
|
|
257
|
+
s3mPivot = vec3( r2.w, r3.w, r4.w );
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
objectNormal = normalize( s3mRot * objectNormal );
|
|
261
|
+
`;
|
|
262
|
+
const VERT_ELEVATION = /* glsl */ `
|
|
263
|
+
float s3mBatchElev = s3mBatchRaw();
|
|
264
|
+
if ( uBatchTexActive > 0 && s3mBatchElev >= 0.0 ) {
|
|
265
|
+
float s3mU = ( s3mBatchElev + 0.5 ) / uBatchTexWidth;
|
|
266
|
+
vec4 bState = s3mSampleBatchRow0( uBatchTex, uBatchTex2, vec2( s3mU, 0.1 ), uBatchMix );
|
|
267
|
+
if ( bState.a < -0.5 ) {
|
|
268
|
+
transformed = vec3( 0.0 );
|
|
178
269
|
}
|
|
179
270
|
}
|
|
180
271
|
|
|
181
|
-
float s3mSelElev = max( step( 0.0, uSelBatch ) * step( abs(
|
|
182
|
-
//
|
|
183
|
-
transformed
|
|
272
|
+
float s3mSelElev = max( step( 0.0, uSelBatch ) * step( abs( s3mBatchElev - uSelBatch ), 0.5 ), uSelWhole );
|
|
273
|
+
// 刚体旋转以 s3mPivot 为中心,再叠加自定义平移与选中拔高
|
|
274
|
+
transformed = s3mRot * ( transformed - s3mPivot ) + s3mPivot + s3mCustomOffset;
|
|
184
275
|
transformed.z += s3mSelElev * uSelElevation;
|
|
185
276
|
`;
|
|
186
277
|
const VERT_WORLD = /* glsl */ `
|
|
@@ -207,7 +298,7 @@ const VERT_WORLD = /* glsl */ `
|
|
|
207
298
|
#else
|
|
208
299
|
mat3 s3mNormMat = mat3( modelMatrix );
|
|
209
300
|
#endif
|
|
210
|
-
vWorldNormal = normalize( s3mNormMat * normal );
|
|
301
|
+
vWorldNormal = normalize( s3mNormMat * ( s3mRot * normal ) );
|
|
211
302
|
`;
|
|
212
303
|
const FRAG_PARS = /* glsl */ `
|
|
213
304
|
#ifdef S3M_ATLAS
|
|
@@ -289,6 +380,8 @@ const FRAG_PARS = /* glsl */ `
|
|
|
289
380
|
uniform float uSelEmissive;
|
|
290
381
|
uniform float uDimFactor;
|
|
291
382
|
uniform sampler2D uBatchTex;
|
|
383
|
+
uniform sampler2D uBatchTex2;
|
|
384
|
+
uniform float uBatchMix;
|
|
292
385
|
uniform float uBatchTexWidth;
|
|
293
386
|
uniform int uBatchTexActive;
|
|
294
387
|
uniform float uFilterMinZ;
|
|
@@ -304,12 +397,45 @@ const FRAG_PARS = /* glsl */ `
|
|
|
304
397
|
uniform float uSelWhole;
|
|
305
398
|
uniform float uRoofThreshold;
|
|
306
399
|
uniform float uTexMix;
|
|
400
|
+
uniform float uAmbientGain;
|
|
401
|
+
uniform float uOpacity;
|
|
402
|
+
uniform float uTileFade;
|
|
403
|
+
uniform float uFade;
|
|
307
404
|
varying float vBatchId;
|
|
308
405
|
varying vec3 vVertColor;
|
|
309
406
|
varying float vWorldZ;
|
|
310
407
|
varying vec3 vWorldNormal;
|
|
311
408
|
varying vec3 vWorldPos;
|
|
312
409
|
|
|
410
|
+
vec4 s3mSampleBatchRow0( sampler2D texA, sampler2D texB, vec2 uv, float mixVal ) {
|
|
411
|
+
vec4 vA = texture2D( texA, uv );
|
|
412
|
+
if ( mixVal <= 0.0001 ) return vA;
|
|
413
|
+
vec4 vB = texture2D( texB, uv );
|
|
414
|
+
vec4 res = mix( vA, vB, mixVal );
|
|
415
|
+
if ( vA.r < 0.0 && vB.r >= 0.0 ) {
|
|
416
|
+
res.rgb = vB.rgb;
|
|
417
|
+
} else if ( vA.r >= 0.0 && vB.r < 0.0 ) {
|
|
418
|
+
res.rgb = vA.rgb;
|
|
419
|
+
}
|
|
420
|
+
if ( vA.a < -0.5 || vB.a < -0.5 ) {
|
|
421
|
+
res.a = ( mixVal >= 0.5 ) ? vB.a : vA.a;
|
|
422
|
+
}
|
|
423
|
+
return res;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
vec4 s3mSampleBatchRow1( sampler2D texA, sampler2D texB, vec2 uv, float mixVal ) {
|
|
427
|
+
vec4 vA = texture2D( texA, uv );
|
|
428
|
+
if ( mixVal <= 0.0001 ) return vA;
|
|
429
|
+
vec4 vB = texture2D( texB, uv );
|
|
430
|
+
vec4 res = mix( vA, vB, mixVal );
|
|
431
|
+
if ( vA.a == 0.0 && vB.a > 0.0 ) {
|
|
432
|
+
res.a = mix( 1.0, vB.a, mixVal );
|
|
433
|
+
} else if ( vA.a > 0.0 && vB.a == 0.0 ) {
|
|
434
|
+
res.a = mix( vA.a, 1.0, mixVal );
|
|
435
|
+
}
|
|
436
|
+
return res;
|
|
437
|
+
}
|
|
438
|
+
|
|
313
439
|
float s3mHash( float p ) {
|
|
314
440
|
p = fract( p * 0.1031 );
|
|
315
441
|
p *= p + 33.33;
|
|
@@ -342,6 +468,8 @@ const FRAG_PARS = /* glsl */ `
|
|
|
342
468
|
const FRAG_COLOR = /* glsl */ `
|
|
343
469
|
float s3mH = clamp( ( vWorldZ - uHeightMin ) / max( uHeightMax - uHeightMin, 0.001 ), 0.0, 1.0 );
|
|
344
470
|
vec3 s3mBase = diffuseColor.rgb; // 已含 diffuse × map
|
|
471
|
+
// 图层整体透明度(共享 uniform)+ 单瓦片淡入系数(逐材质),逐帧改都不产生重编译
|
|
472
|
+
diffuseColor.a *= uOpacity * uTileFade;
|
|
345
473
|
// 所有按单体取值(配色 / 状态纹理 / 选中判定)都走取整后的 id,避免插值噪声
|
|
346
474
|
float s3mBid = s3mBatchId();
|
|
347
475
|
|
|
@@ -402,7 +530,8 @@ const FRAG_COLOR = /* glsl */ `
|
|
|
402
530
|
bool hasCustomColor = false;
|
|
403
531
|
if ( uBatchTexActive > 0 && s3mBid >= 0.0 ) {
|
|
404
532
|
// 用取整后的 id 采样:否则逐像素的插值误差会让纹素在边界上来回跳,同样出彩色噪点
|
|
405
|
-
|
|
533
|
+
float s3mU = ( s3mBid + 0.5 ) / uBatchTexWidth;
|
|
534
|
+
vec4 bState = s3mSampleBatchRow0( uBatchTex, uBatchTex2, vec2( s3mU, 0.1 ), uBatchMix );
|
|
406
535
|
if ( bState.a < -0.5 ) {
|
|
407
536
|
discard; // 属于被过滤隐藏的单体
|
|
408
537
|
}
|
|
@@ -413,7 +542,7 @@ const FRAG_COLOR = /* glsl */ `
|
|
|
413
542
|
}
|
|
414
543
|
// 单体独立透明度(状态纹理第 2 行 alpha,0 = 无覆盖)。
|
|
415
544
|
// 与全局 uOpacity(diffuseColor.a 初值)和图集贴图自带 alpha 逐级叠乘
|
|
416
|
-
vec4 bOffset =
|
|
545
|
+
vec4 bOffset = s3mSampleBatchRow1( uBatchTex, uBatchTex2, vec2( s3mU, 0.3 ), uBatchMix );
|
|
417
546
|
if ( bOffset.a > 0.0 ) {
|
|
418
547
|
diffuseColor.a *= bOffset.a;
|
|
419
548
|
}
|
|
@@ -443,6 +572,10 @@ const FRAG_COLOR = /* glsl */ `
|
|
|
443
572
|
} else {
|
|
444
573
|
diffuseColor.rgb *= mix( 1.0, uDimFactor, uDim );
|
|
445
574
|
}
|
|
575
|
+
|
|
576
|
+
// 压暗乘子放在最后:mode 分支会整体覆写 diffuseColor.rgb,
|
|
577
|
+
// 放在前面会被覆盖掉。setMode 的 fade-through 就靠它。
|
|
578
|
+
diffuseColor.rgb *= uFade;
|
|
446
579
|
`;
|
|
447
580
|
const FRAG_EMISSIVE = /* glsl */ `
|
|
448
581
|
float s3mSelE = max( step( 0.0, uSelBatch ) * step( abs( s3mBatchId() - uSelBatch ), 0.5 ), uSelWhole );
|
|
@@ -450,6 +583,10 @@ const FRAG_EMISSIVE = /* glsl */ `
|
|
|
450
583
|
if ( uSelMode != 3 ) {
|
|
451
584
|
totalEmissiveRadiance += uSelColor * s3mSelE * uSelMix * ( uSelEmissive * 0.4 );
|
|
452
585
|
}
|
|
586
|
+
// 直通自发光微调 / 环境光底色提升:补偿背光阴影面(尤其 TOP_SIDE 立面),避免光照阴影面过暗
|
|
587
|
+
if ( uAmbientGain > 0.001 ) {
|
|
588
|
+
totalEmissiveRadiance += diffuseColor.rgb * uAmbientGain;
|
|
589
|
+
}
|
|
453
590
|
`;
|
|
454
591
|
const FRAG_BAKE = /* glsl */ `
|
|
455
592
|
#ifdef S3M_ATLAS_SEC
|
|
@@ -485,8 +622,11 @@ export function createStyledMaterial(opts) {
|
|
|
485
622
|
// 没有单体化信息的几何(batchId = -1)只能整块选中
|
|
486
623
|
const uSelWhole = { value: 0 };
|
|
487
624
|
const uBatchTex = { value: DUMMY_BATCH_TEX };
|
|
625
|
+
const uBatchTex2 = { value: DUMMY_BATCH_TEX };
|
|
488
626
|
const uBatchTexWidth = { value: 1.0 };
|
|
489
627
|
const uBatchTexActive = { value: 0 };
|
|
628
|
+
/** 单块瓦片的淡入系数:逐材质独享(每块网格一份材质),默认 1 = 完全显示 */
|
|
629
|
+
const uTileFade = { value: 1 };
|
|
490
630
|
// 图集材质:只有几何确实带了 aAtlasRect 才开这个宏,否则缺属性会采到 (0,0) 的默认值
|
|
491
631
|
const atlas = !!opts.atlas && !!opts.map;
|
|
492
632
|
const secMap = atlas ? (opts.secMap ?? null) : null;
|
|
@@ -502,14 +642,17 @@ export function createStyledMaterial(opts) {
|
|
|
502
642
|
uSelBatch,
|
|
503
643
|
uSelWhole,
|
|
504
644
|
uBatchTex,
|
|
645
|
+
uBatchTex2,
|
|
505
646
|
uBatchTexWidth,
|
|
506
647
|
uBatchTexActive,
|
|
648
|
+
uTileFade,
|
|
507
649
|
uSecMap: { value: secMap },
|
|
508
650
|
uAtlasDim,
|
|
509
651
|
uAtlasDim1,
|
|
510
652
|
});
|
|
511
653
|
shader.vertexShader = shader.vertexShader
|
|
512
654
|
.replace('#include <common>', `#include <common>\n${VERT_PARS}`)
|
|
655
|
+
.replace('#include <beginnormal_vertex>', `#include <beginnormal_vertex>\n${VERT_SETUP}`)
|
|
513
656
|
.replace('#include <begin_vertex>', `#include <begin_vertex>\n${VERT_ELEVATION}`)
|
|
514
657
|
.replace('#include <worldpos_vertex>', VERT_WORLD);
|
|
515
658
|
shader.fragmentShader = shader.fragmentShader
|
|
@@ -537,8 +680,10 @@ export function createStyledMaterial(opts) {
|
|
|
537
680
|
mat.userData.uSelBatch = uSelBatch;
|
|
538
681
|
mat.userData.uSelWhole = uSelWhole;
|
|
539
682
|
mat.userData.uBatchTex = uBatchTex;
|
|
683
|
+
mat.userData.uBatchTex2 = uBatchTex2;
|
|
540
684
|
mat.userData.uBatchTexWidth = uBatchTexWidth;
|
|
541
685
|
mat.userData.uBatchTexActive = uBatchTexActive;
|
|
686
|
+
mat.userData.uTileFade = uTileFade;
|
|
542
687
|
mat.userData.isStyled = true;
|
|
543
688
|
return mat;
|
|
544
689
|
}
|
|
@@ -550,26 +695,48 @@ const OUTLINE_VERT = /* glsl */ `
|
|
|
550
695
|
uniform float uWidth;
|
|
551
696
|
uniform float uElevation;
|
|
552
697
|
uniform sampler2D uBatchTex;
|
|
698
|
+
uniform sampler2D uBatchTex2;
|
|
699
|
+
uniform float uBatchMix;
|
|
553
700
|
uniform float uBatchTexWidth;
|
|
554
701
|
uniform int uBatchTexActive;
|
|
555
702
|
varying float vSel;
|
|
703
|
+
|
|
704
|
+
vec4 s3mSampleBatch( sampler2D texA, sampler2D texB, vec2 uv, float mixVal ) {
|
|
705
|
+
vec4 vA = texture2D( texA, uv );
|
|
706
|
+
if ( mixVal <= 0.0001 ) return vA;
|
|
707
|
+
vec4 vB = texture2D( texB, uv );
|
|
708
|
+
return mix( vA, vB, mixVal );
|
|
709
|
+
}
|
|
710
|
+
|
|
556
711
|
void main() {
|
|
557
712
|
vSel = max( step( 0.0, uSelBatch ) * step( abs( aBatchId - uSelBatch ), 0.5 ), uSelWhole );
|
|
558
713
|
vec3 s3mCustomOffset = vec3( 0.0 );
|
|
714
|
+
mat3 s3mRot = mat3( 1.0 );
|
|
715
|
+
vec3 s3mPivot = vec3( 0.0 );
|
|
559
716
|
if ( uBatchTexActive > 0 && aBatchId >= 0.0 ) {
|
|
560
|
-
|
|
717
|
+
float s3mU = ( aBatchId + 0.5 ) / uBatchTexWidth;
|
|
718
|
+
vec4 bState = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.1 ), uBatchMix );
|
|
561
719
|
if ( bState.a < -0.5 ) {
|
|
562
720
|
vSel = 0.0; // 过滤隐藏的单体不显示描边
|
|
563
721
|
} else {
|
|
564
|
-
vec4 bOffset =
|
|
722
|
+
vec4 bOffset = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.3 ), uBatchMix );
|
|
565
723
|
s3mCustomOffset = bOffset.xyz;
|
|
566
724
|
if ( s3mCustomOffset.z == 0.0 && bState.a > 0.0 ) {
|
|
567
725
|
s3mCustomOffset.z = bState.a;
|
|
568
726
|
}
|
|
727
|
+
vec4 r2 = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.5 ), uBatchMix );
|
|
728
|
+
vec4 r3 = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.7 ), uBatchMix );
|
|
729
|
+
vec4 r4 = s3mSampleBatch( uBatchTex, uBatchTex2, vec2( s3mU, 0.9 ), uBatchMix );
|
|
730
|
+
s3mRot = mat3(
|
|
731
|
+
vec3( r2.x, r3.x, r4.x ),
|
|
732
|
+
vec3( r2.y, r3.y, r4.y ),
|
|
733
|
+
vec3( r2.z, r3.z, r4.z )
|
|
734
|
+
);
|
|
735
|
+
s3mPivot = vec3( r2.w, r3.w, r4.w );
|
|
569
736
|
}
|
|
570
737
|
}
|
|
571
|
-
vec3 p = position + normal * uWidth * vSel;
|
|
572
|
-
p
|
|
738
|
+
vec3 p = position + ( s3mRot * normal ) * uWidth * vSel;
|
|
739
|
+
p = s3mRot * ( p - s3mPivot ) + s3mPivot + s3mCustomOffset;
|
|
573
740
|
p.z += vSel * uElevation;
|
|
574
741
|
gl_Position = projectionMatrix * modelViewMatrix * vec4( p, 1.0 );
|
|
575
742
|
}
|
|
@@ -591,6 +758,8 @@ export function createOutlineMaterial(shared, initialWidth = 0.9) {
|
|
|
591
758
|
uWidth: { value: initialWidth },
|
|
592
759
|
uElevation: { value: 0 },
|
|
593
760
|
uBatchTex: { value: DUMMY_BATCH_TEX },
|
|
761
|
+
uBatchTex2: { value: DUMMY_BATCH_TEX },
|
|
762
|
+
uBatchMix: shared.uBatchMix ?? { value: 0 },
|
|
594
763
|
uBatchTexWidth: { value: 1.0 },
|
|
595
764
|
uBatchTexActive: { value: 0 },
|
|
596
765
|
uColor: { value: shared.uSelColor.value.clone() },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyleMaterial.js","sourceRoot":"","sources":["../../src/render/StyleMaterial.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,CAAC,EAAE,sBAAsB;IAChC,OAAO,EAAE,CAAC,EAAE,cAAc;IAC1B,KAAK,EAAE,CAAC,EAAE,KAAK;IACf,MAAM,EAAE,CAAC,EAAE,UAAU;IACrB,MAAM,EAAE,CAAC,EAAE,wBAAwB;IACnC,KAAK,EAAE,CAAC,EAAE,gBAAgB;IAC1B,OAAO,EAAE,CAAC,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,CAAC,EAAE,yBAAyB;IACtC,MAAM,EAAE,CAAC,EAAE,yBAAyB;CAC5B,CAAC;AAIX,MAAM,CAAC,MAAM,YAAY,GAA8B;IACrD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI;IACnB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI;IACrB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI;IACnB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK;IACrB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK;IACrB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK;IACpB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO;IACzB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK;CACtB,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,wBAAwB;IACxB,OAAO,EAAE,SAAS;IAClB,iCAAiC;IACjC,OAAO,EAAE,SAAS;IAClB,4BAA4B;IAC5B,QAAQ,EAAE,UAAU;IACpB,uBAAuB;IACvB,SAAS,EAAE,UAAU;CACb,CAAC;AAIX,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACvC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACvC,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,iBAAiB;IACzC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,cAAc;CACxC,CAAC;
|
|
1
|
+
{"version":3,"file":"StyleMaterial.js","sourceRoot":"","sources":["../../src/render/StyleMaterial.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3MTileset.d.ts","sourceRoot":"","sources":["../../src/tileset/S3MTileset.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"S3MTileset.d.ts","sourceRoot":"","sources":["../../src/tileset/S3MTileset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1060,7 +1060,9 @@ export class S3MTileset {
|
|
|
1060
1060
|
if (inRange)
|
|
1061
1061
|
node.lastSeen = this._frame;
|
|
1062
1062
|
const childUrls = node.childUrls ?? (node.childUrl ? [node.childUrl] : []);
|
|
1063
|
-
|
|
1063
|
+
// 加入 8% 迟滞区间(Hysteresis Band),防止相机在 LOD 临界距离处发生父子瓦片逐帧来回横跳闪烁
|
|
1064
|
+
const hFactor = node.needRefine ? (byDistance ? 1.08 : 0.92) : 1.0;
|
|
1065
|
+
const needRefine = childUrls.length > 0 && (byDistance ? metric < threshold * hFactor : metric > threshold * hFactor);
|
|
1064
1066
|
node.needRefine = needRefine;
|
|
1065
1067
|
const dbgSeen = (globalThis.__S3M_LOD_SEEN ??= new Set());
|
|
1066
1068
|
if (globalThis.__S3M_LOD_DEBUG && !dbgSeen.has(node.url) && dbgSeen.size < 260) {
|