@glowjs/core 2026.2.23 → 2026.3.2
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/glow.core.d.ts +468 -64
- package/dist/glow.core.js +1 -1
- package/package.json +1 -1
package/dist/glow.core.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ import { Gizmo } from '@babylonjs/core/Gizmos/gizmo';
|
|
|
20
20
|
import { GizmoManager } from '@babylonjs/core/Gizmos/gizmoManager';
|
|
21
21
|
import { EngineInstrumentation } from '@babylonjs/core/Instrumentation/engineInstrumentation';
|
|
22
22
|
import { SceneInstrumentation } from '@babylonjs/core/Instrumentation/sceneInstrumentation';
|
|
23
|
+
import { EffectLayer, IEffectLayerOptions } from '@babylonjs/core/Layers/effectlayer';
|
|
23
24
|
import { GlowLayer } from '@babylonjs/core/Layers/glowLayer';
|
|
24
25
|
import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
|
|
25
26
|
import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
|
|
@@ -34,6 +35,7 @@ import { Material } from '@babylonjs/core/Materials/material';
|
|
|
34
35
|
import { NodeMaterial } from '@babylonjs/core/Materials/Node/nodeMaterial';
|
|
35
36
|
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
|
|
36
37
|
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
|
|
38
|
+
import { BaseTexture } from '@babylonjs/core/Materials/Textures/baseTexture';
|
|
37
39
|
import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
|
|
38
40
|
import { EquiRectangularCubeTexture } from '@babylonjs/core/Materials/Textures/equiRectangularCubeTexture';
|
|
39
41
|
import { Texture } from '@babylonjs/core/Materials/Textures/texture';
|
|
@@ -55,6 +57,7 @@ import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
|
|
|
55
57
|
import { LinesMesh } from '@babylonjs/core/Meshes/linesMesh';
|
|
56
58
|
import { Mesh } from '@babylonjs/core/Meshes/mesh';
|
|
57
59
|
import { VertexData } from '@babylonjs/core/Meshes/mesh.vertexData';
|
|
60
|
+
import { SubMesh } from '@babylonjs/core/Meshes/subMesh';
|
|
58
61
|
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
|
|
59
62
|
import { EnvironmentTextureTools } from '@babylonjs/core/Misc/environmentTextureTools';
|
|
60
63
|
import { Observer } from '@babylonjs/core/Misc/observable';
|
|
@@ -63,7 +66,7 @@ import { Node as Node$1 } from '@babylonjs/core/node';
|
|
|
63
66
|
import { ParticleHelper } from '@babylonjs/core/Particles/particleHelper';
|
|
64
67
|
import { ParticleSystem } from '@babylonjs/core/Particles/particleSystem';
|
|
65
68
|
import { Scene } from '@babylonjs/core/scene';
|
|
66
|
-
import { FloatArray } from '@babylonjs/core/types';
|
|
69
|
+
import { FloatArray, Nullable } from '@babylonjs/core/types';
|
|
67
70
|
import { AdvancedDynamicTexture } from '@babylonjs/gui/2D/advancedDynamicTexture';
|
|
68
71
|
import { Button } from '@babylonjs/gui/2D/controls/button';
|
|
69
72
|
import { Container } from '@babylonjs/gui/2D/controls/container';
|
|
@@ -216,6 +219,48 @@ declare class Glow extends Base {
|
|
|
216
219
|
*/
|
|
217
220
|
dispose(): void;
|
|
218
221
|
}
|
|
222
|
+
declare class HighLight extends Base {
|
|
223
|
+
_layer: SelectionOutlineLayer;
|
|
224
|
+
private _entites;
|
|
225
|
+
/**
|
|
226
|
+
* 实例化一个高亮层对象
|
|
227
|
+
* @param app 应用
|
|
228
|
+
*/
|
|
229
|
+
constructor(app: App);
|
|
230
|
+
/**
|
|
231
|
+
* 轮廓颜色,默认为绿色#00ff00
|
|
232
|
+
*/
|
|
233
|
+
get outlineColor(): string;
|
|
234
|
+
set outlineColor(value: string);
|
|
235
|
+
/**
|
|
236
|
+
* 添加实体
|
|
237
|
+
* @param entites 实体
|
|
238
|
+
*/
|
|
239
|
+
add(...entites: Entity[]): void;
|
|
240
|
+
/**
|
|
241
|
+
* 是否包含指定的实体
|
|
242
|
+
* @param item 实体
|
|
243
|
+
*/
|
|
244
|
+
includes(item: Entity): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* 移除实体
|
|
247
|
+
* @param entites 实体
|
|
248
|
+
*/
|
|
249
|
+
remove(...entites: Entity[]): void;
|
|
250
|
+
/**
|
|
251
|
+
* 清理
|
|
252
|
+
*/
|
|
253
|
+
clean(): void;
|
|
254
|
+
/**
|
|
255
|
+
* 获取或设置启用
|
|
256
|
+
*/
|
|
257
|
+
get enable(): boolean;
|
|
258
|
+
set enable(value: boolean);
|
|
259
|
+
/**
|
|
260
|
+
* 释放
|
|
261
|
+
*/
|
|
262
|
+
dispose(): void;
|
|
263
|
+
}
|
|
219
264
|
declare class ImageProcessing extends Base {
|
|
220
265
|
private _config;
|
|
221
266
|
/**
|
|
@@ -518,55 +563,6 @@ declare class ManualWallBuilder {
|
|
|
518
563
|
*/
|
|
519
564
|
computeCornerPoints(): void;
|
|
520
565
|
}
|
|
521
|
-
declare class OutlineEffect extends Base {
|
|
522
|
-
private _scene;
|
|
523
|
-
private _postProcess;
|
|
524
|
-
private _highlightedMeshes;
|
|
525
|
-
private _highlightColor;
|
|
526
|
-
private _width;
|
|
527
|
-
private _depthRenderer;
|
|
528
|
-
private _highlightRenderer;
|
|
529
|
-
private _entites;
|
|
530
|
-
private _resizeEventId;
|
|
531
|
-
constructor(app: App);
|
|
532
|
-
private _registerShaders;
|
|
533
|
-
private _initPostProcess;
|
|
534
|
-
/**
|
|
535
|
-
* 获取或设置轮廓颜色(十六进制)
|
|
536
|
-
*/
|
|
537
|
-
get color(): string;
|
|
538
|
-
set color(value: string);
|
|
539
|
-
/** 获取或设置轮廓线宽度 */
|
|
540
|
-
get width(): number;
|
|
541
|
-
set width(value: number);
|
|
542
|
-
/**
|
|
543
|
-
* 添加实体
|
|
544
|
-
* @param entites 实体
|
|
545
|
-
*/
|
|
546
|
-
add(...entites: Entity[]): void;
|
|
547
|
-
/**
|
|
548
|
-
* 是否包含指定的实体
|
|
549
|
-
* @param item 实体
|
|
550
|
-
*/
|
|
551
|
-
includes(item: Entity): boolean;
|
|
552
|
-
/**
|
|
553
|
-
* 移除实体
|
|
554
|
-
* @param entites 实体
|
|
555
|
-
*/
|
|
556
|
-
remove(...entites: Entity[]): void;
|
|
557
|
-
/**
|
|
558
|
-
* 清理
|
|
559
|
-
*/
|
|
560
|
-
clean(): void;
|
|
561
|
-
/**
|
|
562
|
-
* 重置
|
|
563
|
-
*/
|
|
564
|
-
reset(): void;
|
|
565
|
-
/**
|
|
566
|
-
* 销毁
|
|
567
|
-
*/
|
|
568
|
-
dispose(): void;
|
|
569
|
-
}
|
|
570
566
|
declare class Particle extends Base {
|
|
571
567
|
private _levelId;
|
|
572
568
|
private _particles;
|
|
@@ -613,14 +609,6 @@ declare class PerformancePanel extends StackPanel {
|
|
|
613
609
|
set visible(value: boolean);
|
|
614
610
|
private _update;
|
|
615
611
|
}
|
|
616
|
-
declare class PostProcessMgr extends Base {
|
|
617
|
-
outlineEffect: OutlineEffect;
|
|
618
|
-
constructor(app: App);
|
|
619
|
-
/** 是否启用轮廓效果 */
|
|
620
|
-
get enableOutline(): boolean;
|
|
621
|
-
set enableOutline(value: boolean);
|
|
622
|
-
dispose(): void;
|
|
623
|
-
}
|
|
624
612
|
declare class ToolTip extends Rectangle {
|
|
625
613
|
static _root: AdvancedDynamicTexture;
|
|
626
614
|
private _textBlock;
|
|
@@ -875,10 +863,6 @@ export declare class App extends EventDispatcher {
|
|
|
875
863
|
* 管线管理器
|
|
876
864
|
*/
|
|
877
865
|
pipelineMgr: PipelineMgr;
|
|
878
|
-
/**
|
|
879
|
-
* 后处理管理器
|
|
880
|
-
*/
|
|
881
|
-
postProcessMgr: PostProcessMgr;
|
|
882
866
|
/**
|
|
883
867
|
* 跟踪器
|
|
884
868
|
*/
|
|
@@ -2574,6 +2558,10 @@ export declare class EffectMgr extends Base {
|
|
|
2574
2558
|
* 发光层
|
|
2575
2559
|
*/
|
|
2576
2560
|
glow: Glow;
|
|
2561
|
+
/**
|
|
2562
|
+
* 高亮
|
|
2563
|
+
*/
|
|
2564
|
+
highlight: HighLight;
|
|
2577
2565
|
/**
|
|
2578
2566
|
* 灯光
|
|
2579
2567
|
*/
|
|
@@ -3198,6 +3186,82 @@ export declare class FPSBar extends TextBlock {
|
|
|
3198
3186
|
*/
|
|
3199
3187
|
dispose(): void;
|
|
3200
3188
|
}
|
|
3189
|
+
/**
|
|
3190
|
+
* 电子围栏
|
|
3191
|
+
*/
|
|
3192
|
+
export declare class Fence extends Entity {
|
|
3193
|
+
/** 高度 */
|
|
3194
|
+
static height: number;
|
|
3195
|
+
static animationSpeed: number;
|
|
3196
|
+
/** 点集 */
|
|
3197
|
+
points: Point3D[];
|
|
3198
|
+
private _mesh;
|
|
3199
|
+
private _material;
|
|
3200
|
+
/**
|
|
3201
|
+
* 实例化一个电子围栏对象
|
|
3202
|
+
* @param app 应用
|
|
3203
|
+
*/
|
|
3204
|
+
constructor(app: App);
|
|
3205
|
+
/**
|
|
3206
|
+
* 获取实例类型
|
|
3207
|
+
*/
|
|
3208
|
+
get instanceClass(): typeof Fence;
|
|
3209
|
+
toJson(): any;
|
|
3210
|
+
fromJson(json: any): void; /**
|
|
3211
|
+
* 创建(仅当前层级可见对象)
|
|
3212
|
+
* @param {boolean} force 是否强制
|
|
3213
|
+
*/
|
|
3214
|
+
build(force?: boolean): Promise<void>;
|
|
3215
|
+
/**
|
|
3216
|
+
* 拆毁
|
|
3217
|
+
*/
|
|
3218
|
+
unbuild(): void;
|
|
3219
|
+
}
|
|
3220
|
+
/**
|
|
3221
|
+
* 围栏管理器组件
|
|
3222
|
+
*/
|
|
3223
|
+
export declare class FenceMgr extends Component {
|
|
3224
|
+
private _edit;
|
|
3225
|
+
private _curPoints;
|
|
3226
|
+
private _curMeshes;
|
|
3227
|
+
/**
|
|
3228
|
+
* 线颜色
|
|
3229
|
+
*/
|
|
3230
|
+
private _lineColor;
|
|
3231
|
+
private _curRoot;
|
|
3232
|
+
private _lastLineMesh;
|
|
3233
|
+
private _appEvents;
|
|
3234
|
+
/** 结束编辑时触发的回调函数 */
|
|
3235
|
+
onEndEdit: (face: Fence) => void;
|
|
3236
|
+
/** 围栏列表 */
|
|
3237
|
+
get fenceList(): Fence[];
|
|
3238
|
+
/**
|
|
3239
|
+
* 添加一个围栏
|
|
3240
|
+
* @param json 围栏JSON
|
|
3241
|
+
*/
|
|
3242
|
+
addOne(json: any): Fence;
|
|
3243
|
+
/**
|
|
3244
|
+
* 创建所有围栏
|
|
3245
|
+
*/
|
|
3246
|
+
build(): Promise<void>;
|
|
3247
|
+
/**
|
|
3248
|
+
* 实例化一个围栏管理器组件
|
|
3249
|
+
* @param entity 实体
|
|
3250
|
+
*/
|
|
3251
|
+
constructor(entity: Entity);
|
|
3252
|
+
/**
|
|
3253
|
+
* 开始编辑
|
|
3254
|
+
*/
|
|
3255
|
+
startEdit(): void;
|
|
3256
|
+
private _setAppEvents;
|
|
3257
|
+
private _onLeftClick;
|
|
3258
|
+
private _addLineMesh;
|
|
3259
|
+
private _onAfterFrame;
|
|
3260
|
+
/**
|
|
3261
|
+
* 结束编辑
|
|
3262
|
+
*/
|
|
3263
|
+
endEdit(): Promise<void>;
|
|
3264
|
+
}
|
|
3201
3265
|
/**
|
|
3202
3266
|
* 楼层
|
|
3203
3267
|
*/
|
|
@@ -5051,6 +5115,304 @@ export declare class RunTime implements IDisposable {
|
|
|
5051
5115
|
*/
|
|
5052
5116
|
dispose(): void;
|
|
5053
5117
|
}
|
|
5118
|
+
/**
|
|
5119
|
+
* SelectionOutlineLayer 类
|
|
5120
|
+
*
|
|
5121
|
+
* 选择轮廓渲染层,继承自 Babylon.js 的 EffectLayer。
|
|
5122
|
+
* 为选中的网格渲染高亮轮廓效果。
|
|
5123
|
+
*
|
|
5124
|
+
* @example
|
|
5125
|
+
* ```typescript
|
|
5126
|
+
* // 创建轮廓层
|
|
5127
|
+
* const outlineLayer = new SelectionOutlineLayer('selection', scene);
|
|
5128
|
+
*
|
|
5129
|
+
* // 设置轮廓颜色和厚度
|
|
5130
|
+
* outlineLayer.outlineColor = new Color3(1, 0, 0); // 红色
|
|
5131
|
+
* outlineLayer.outlineThickness = 3.0;
|
|
5132
|
+
*
|
|
5133
|
+
* // 添加网格到选择
|
|
5134
|
+
* outlineLayer.addSelection(mesh);
|
|
5135
|
+
*
|
|
5136
|
+
* // 移除网格
|
|
5137
|
+
* outlineLayer.removeSelection(mesh);
|
|
5138
|
+
* ```
|
|
5139
|
+
*/
|
|
5140
|
+
export declare class SelectionOutlineLayer extends EffectLayer {
|
|
5141
|
+
/**
|
|
5142
|
+
* 效果名称常量
|
|
5143
|
+
* 用于在 Babylon.js 效果系统中标识此效果
|
|
5144
|
+
*/
|
|
5145
|
+
static readonly EffectName = "SelectionOutlineLayer";
|
|
5146
|
+
/**
|
|
5147
|
+
* 实例选择ID属性名称常量
|
|
5148
|
+
* 用于实例化网格的选择ID属性
|
|
5149
|
+
*/
|
|
5150
|
+
static readonly InstanceSelectionIdAttributeName = "instanceSelectionId";
|
|
5151
|
+
/**
|
|
5152
|
+
* 配置选项
|
|
5153
|
+
*/
|
|
5154
|
+
private _options;
|
|
5155
|
+
/**
|
|
5156
|
+
* 选中网格信息数组
|
|
5157
|
+
*/
|
|
5158
|
+
private _selection;
|
|
5159
|
+
/**
|
|
5160
|
+
* 网格唯一ID到选择ID的映射
|
|
5161
|
+
* 用于非实例化网格快速查找选择ID
|
|
5162
|
+
*/
|
|
5163
|
+
private _meshUniqueIdToSelectionId;
|
|
5164
|
+
/**
|
|
5165
|
+
* 下一个可用的选择ID
|
|
5166
|
+
* 选择ID从1开始,0表示无选择
|
|
5167
|
+
*/
|
|
5168
|
+
private _nextSelectionId;
|
|
5169
|
+
/**
|
|
5170
|
+
* 合并效果
|
|
5171
|
+
* 用于将选择遮罩渲染为最终轮廓
|
|
5172
|
+
*/
|
|
5173
|
+
private _mergeEffect;
|
|
5174
|
+
/**
|
|
5175
|
+
* 纹理宽度
|
|
5176
|
+
*/
|
|
5177
|
+
private _textureWidth;
|
|
5178
|
+
/**
|
|
5179
|
+
* 纹理高度
|
|
5180
|
+
*/
|
|
5181
|
+
private _textureHeight;
|
|
5182
|
+
/**
|
|
5183
|
+
* 轮廓颜色
|
|
5184
|
+
* 默认为橙色 (1, 0.5, 0)
|
|
5185
|
+
*/
|
|
5186
|
+
outlineColor: Color3;
|
|
5187
|
+
/**
|
|
5188
|
+
* 轮廓厚度
|
|
5189
|
+
* 以像素为单位,默认为 2.0
|
|
5190
|
+
*/
|
|
5191
|
+
outlineThickness: number;
|
|
5192
|
+
/**
|
|
5193
|
+
* 遮挡强度
|
|
5194
|
+
* 控制被遮挡区域轮廓的透明度,范围 [0, 1]
|
|
5195
|
+
* 默认为 0.8,表示遮挡时轮廓透明度降低80%
|
|
5196
|
+
*/
|
|
5197
|
+
occlusionStrength: number;
|
|
5198
|
+
/**
|
|
5199
|
+
* 遮挡检测阈值
|
|
5200
|
+
* 用于判断深度差异是否构成遮挡
|
|
5201
|
+
* 默认为 0.0001
|
|
5202
|
+
*/
|
|
5203
|
+
occlusionThreshold: number;
|
|
5204
|
+
/**
|
|
5205
|
+
* 构造函数
|
|
5206
|
+
*
|
|
5207
|
+
* @param name 层名称
|
|
5208
|
+
* @param scene 目标场景(可选,默认使用当前场景)
|
|
5209
|
+
* @param options 配置选项(可选)
|
|
5210
|
+
*/
|
|
5211
|
+
constructor(name: string, scene?: Scene, options?: Partial<ISelectionOutlineLayerOptions>);
|
|
5212
|
+
/**
|
|
5213
|
+
* 获取效果名称
|
|
5214
|
+
*
|
|
5215
|
+
* @returns 效果名称字符串
|
|
5216
|
+
*/
|
|
5217
|
+
getEffectName(): string;
|
|
5218
|
+
/**
|
|
5219
|
+
* 获取内部绘制次数
|
|
5220
|
+
*
|
|
5221
|
+
* 选择轮廓只需要一次内部绘制(渲染选择遮罩)
|
|
5222
|
+
*
|
|
5223
|
+
* @returns 绘制次数(1)
|
|
5224
|
+
*/
|
|
5225
|
+
protected _numInternalDraws(): number;
|
|
5226
|
+
/**
|
|
5227
|
+
* 创建合并效果
|
|
5228
|
+
*
|
|
5229
|
+
* 创建用于将选择遮罩渲染为最终轮廓的效果。
|
|
5230
|
+
* 使用全屏四边形渲染边缘检测结果。
|
|
5231
|
+
*
|
|
5232
|
+
* @returns 创建的 Effect 对象
|
|
5233
|
+
*/
|
|
5234
|
+
protected _createMergeEffect(): Effect;
|
|
5235
|
+
/**
|
|
5236
|
+
* 创建纹理和后处理
|
|
5237
|
+
*
|
|
5238
|
+
* 初始化效果层所需的纹理和后处理效果。
|
|
5239
|
+
* 选择轮廓层不需要额外的后处理,只需设置主纹理采样数。
|
|
5240
|
+
*/
|
|
5241
|
+
protected _createTextureAndPostProcesses(): void;
|
|
5242
|
+
/**
|
|
5243
|
+
* 创建主纹理(重写)
|
|
5244
|
+
*
|
|
5245
|
+
* 在父类创建主纹理后,设置渲染列表为当前选中的网格。
|
|
5246
|
+
*/
|
|
5247
|
+
protected _createMainTexture(): void;
|
|
5248
|
+
/**
|
|
5249
|
+
* 是否需要模板缓冲区
|
|
5250
|
+
*
|
|
5251
|
+
* 选择轮廓效果不需要模板缓冲区。
|
|
5252
|
+
*
|
|
5253
|
+
* @returns false
|
|
5254
|
+
*/
|
|
5255
|
+
needStencil(): boolean;
|
|
5256
|
+
/**
|
|
5257
|
+
* 检查子网格是否准备好渲染
|
|
5258
|
+
*
|
|
5259
|
+
* 公共接口,调用内部的 _isReady 方法。
|
|
5260
|
+
*
|
|
5261
|
+
* @param subMesh 子网格
|
|
5262
|
+
* @param useInstances 是否使用实例化
|
|
5263
|
+
* @returns 是否准备好
|
|
5264
|
+
*/
|
|
5265
|
+
isReady(subMesh: SubMesh, useInstances: boolean): boolean;
|
|
5266
|
+
/**
|
|
5267
|
+
* 检查子网格是否准备好渲染(内部方法)
|
|
5268
|
+
*
|
|
5269
|
+
* 检查并创建选择遮罩渲染所需的着色器效果。
|
|
5270
|
+
* 根据网格特性(骨骼动画、实例化、透明度测试等)生成着色器定义。
|
|
5271
|
+
*
|
|
5272
|
+
* @param subMesh 子网格
|
|
5273
|
+
* @param useInstances 是否使用实例化
|
|
5274
|
+
* @param _emissiveTexture 自发光纹理(未使用)
|
|
5275
|
+
* @returns 是否准备好渲染
|
|
5276
|
+
*/
|
|
5277
|
+
protected _isReady(subMesh: SubMesh, useInstances: boolean, _emissiveTexture: Nullable<BaseTexture>): boolean;
|
|
5278
|
+
/**
|
|
5279
|
+
* 内部渲染方法
|
|
5280
|
+
*
|
|
5281
|
+
* 执行选择轮廓的最终渲染。
|
|
5282
|
+
* 将选择遮罩纹理通过边缘检测着色器渲染为轮廓。
|
|
5283
|
+
*
|
|
5284
|
+
* @param effect 合并效果
|
|
5285
|
+
* @param _renderIndex 渲染索引(未使用)
|
|
5286
|
+
*/
|
|
5287
|
+
protected _internalRender(effect: Effect, _renderIndex: number): void;
|
|
5288
|
+
/**
|
|
5289
|
+
* 是否应该渲染
|
|
5290
|
+
*
|
|
5291
|
+
* 只有当存在选中的网格时才渲染轮廓。
|
|
5292
|
+
*
|
|
5293
|
+
* @returns 是否应该渲染
|
|
5294
|
+
*/
|
|
5295
|
+
shouldRender(): boolean;
|
|
5296
|
+
/**
|
|
5297
|
+
* 是否应该渲染指定网格
|
|
5298
|
+
*
|
|
5299
|
+
* @param mesh 网格
|
|
5300
|
+
* @returns 是否应该渲染
|
|
5301
|
+
*/
|
|
5302
|
+
protected _shouldRenderMesh(mesh: Mesh): boolean;
|
|
5303
|
+
/**
|
|
5304
|
+
* 是否可以渲染指定网格
|
|
5305
|
+
*
|
|
5306
|
+
* 选择轮廓层可以渲染所有类型的网格。
|
|
5307
|
+
*
|
|
5308
|
+
* @param _mesh 网格(未使用)
|
|
5309
|
+
* @param _material 材质(未使用)
|
|
5310
|
+
* @returns true
|
|
5311
|
+
*/
|
|
5312
|
+
protected _canRenderMesh(_mesh: AbstractMesh, _material: Material): boolean;
|
|
5313
|
+
/**
|
|
5314
|
+
* 添加自定义效果定义
|
|
5315
|
+
*
|
|
5316
|
+
* 子类可以重写此方法添加额外的着色器定义。
|
|
5317
|
+
*
|
|
5318
|
+
* @param defines 定义数组
|
|
5319
|
+
*/
|
|
5320
|
+
protected _addCustomEffectDefines(defines: string[]): void;
|
|
5321
|
+
/**
|
|
5322
|
+
* 设置自发光纹理和颜色
|
|
5323
|
+
*
|
|
5324
|
+
* 选择轮廓层不使用自发光纹理,设置为默认值。
|
|
5325
|
+
*
|
|
5326
|
+
* @param _mesh 网格(未使用)
|
|
5327
|
+
* @param _subMesh 子网格(未使用)
|
|
5328
|
+
* @param _material 材质(未使用)
|
|
5329
|
+
*/
|
|
5330
|
+
protected _setEmissiveTextureAndColor(_mesh: Mesh, _subMesh: SubMesh, _material: Material): void;
|
|
5331
|
+
/**
|
|
5332
|
+
* 渲染子网格(重写)
|
|
5333
|
+
*
|
|
5334
|
+
* 完整重写子网格渲染逻辑,确保正确设置选择ID和其他着色器参数。
|
|
5335
|
+
*
|
|
5336
|
+
* @param subMesh 子网格
|
|
5337
|
+
* @param enableAlphaMode 是否启用Alpha模式
|
|
5338
|
+
*/
|
|
5339
|
+
protected _renderSubMesh(subMesh: SubMesh, enableAlphaMode?: boolean): void;
|
|
5340
|
+
/**
|
|
5341
|
+
* 检查网格是否在选择列表中
|
|
5342
|
+
*
|
|
5343
|
+
* 精确匹配,用于检查是否已添加到选择列表。
|
|
5344
|
+
*
|
|
5345
|
+
* @param mesh 要检查的网格
|
|
5346
|
+
* @returns 是否在选择列表中
|
|
5347
|
+
*/
|
|
5348
|
+
hasMesh(mesh: AbstractMesh): boolean;
|
|
5349
|
+
/**
|
|
5350
|
+
* 检查网格是否应该被渲染(包括源网格关联检查)
|
|
5351
|
+
*
|
|
5352
|
+
* 对于实例化网格,会同时检查源网格和实例网格。
|
|
5353
|
+
*
|
|
5354
|
+
* @param mesh 要检查的网格
|
|
5355
|
+
* @returns 是否应该渲染
|
|
5356
|
+
*/
|
|
5357
|
+
private _shouldRenderMeshOrRelated;
|
|
5358
|
+
/**
|
|
5359
|
+
* 移除网格的销毁观察者
|
|
5360
|
+
*
|
|
5361
|
+
* @param info 选择网格信息
|
|
5362
|
+
*/
|
|
5363
|
+
private _removeObserver;
|
|
5364
|
+
/**
|
|
5365
|
+
* 清空所有选择
|
|
5366
|
+
*
|
|
5367
|
+
* 移除所有选中的网格,清理相关资源。
|
|
5368
|
+
*/
|
|
5369
|
+
clearSelection(): void;
|
|
5370
|
+
/**
|
|
5371
|
+
* 添加网格到选择
|
|
5372
|
+
*
|
|
5373
|
+
* 将一个或多个网格添加到选择列表,为其渲染轮廓效果。
|
|
5374
|
+
* 同一组网格共享相同的选择ID,渲染相同颜色的轮廓。
|
|
5375
|
+
*
|
|
5376
|
+
* @param meshOrGroup 单个网格或网格数组
|
|
5377
|
+
*/
|
|
5378
|
+
addSelection(meshOrGroup: AbstractMesh | AbstractMesh[]): void;
|
|
5379
|
+
/**
|
|
5380
|
+
* 从选择中移除网格
|
|
5381
|
+
*
|
|
5382
|
+
* 从选择列表中移除一个或多个网格,停止为其渲染轮廓。
|
|
5383
|
+
*
|
|
5384
|
+
* @param meshOrGroup 单个网格或网格数组
|
|
5385
|
+
*/
|
|
5386
|
+
removeSelection(meshOrGroup: AbstractMesh | AbstractMesh[]): void;
|
|
5387
|
+
/**
|
|
5388
|
+
* 处理网格销毁
|
|
5389
|
+
*
|
|
5390
|
+
* 当网格被销毁时,自动从选择中移除。
|
|
5391
|
+
*
|
|
5392
|
+
* @param mesh 被销毁的网格
|
|
5393
|
+
*/
|
|
5394
|
+
_disposeMesh(mesh: Mesh): void;
|
|
5395
|
+
/**
|
|
5396
|
+
* 释放资源
|
|
5397
|
+
*
|
|
5398
|
+
* 清理所有资源并释放效果层。
|
|
5399
|
+
*/
|
|
5400
|
+
dispose(): void;
|
|
5401
|
+
/**
|
|
5402
|
+
* 获取类名
|
|
5403
|
+
*
|
|
5404
|
+
* @returns 类名字符串
|
|
5405
|
+
*/
|
|
5406
|
+
getClassName(): string;
|
|
5407
|
+
/**
|
|
5408
|
+
* 序列化
|
|
5409
|
+
*
|
|
5410
|
+
* 将效果层配置序列化为JSON对象。
|
|
5411
|
+
*
|
|
5412
|
+
* @returns 序列化后的配置对象
|
|
5413
|
+
*/
|
|
5414
|
+
serialize(): any;
|
|
5415
|
+
}
|
|
5054
5416
|
/**
|
|
5055
5417
|
* 天空盒子
|
|
5056
5418
|
*/
|
|
@@ -5542,6 +5904,16 @@ export declare class Wall extends Entity {
|
|
|
5542
5904
|
* 默认精度
|
|
5543
5905
|
*/
|
|
5544
5906
|
export declare const EPSILON: number;
|
|
5907
|
+
/**
|
|
5908
|
+
* 轮廓采样模式常量 - 八向采样
|
|
5909
|
+
* 使用八个方向的采样点进行边缘检测(更精确但性能开销更大)
|
|
5910
|
+
*/
|
|
5911
|
+
export declare const OUTLINELAYER_SAMPLING_OCTADIRECTIONAL = 1;
|
|
5912
|
+
/**
|
|
5913
|
+
* 轮廓采样模式常量 - 三向采样
|
|
5914
|
+
* 使用三个方向的采样点进行边缘检测(上方、右侧、右上角)
|
|
5915
|
+
*/
|
|
5916
|
+
export declare const OUTLINELAYER_SAMPLING_TRIDIRECTIONAL = 0;
|
|
5545
5917
|
/**
|
|
5546
5918
|
* 默认效果数值
|
|
5547
5919
|
*/
|
|
@@ -5713,7 +6085,11 @@ export declare enum EntityType {
|
|
|
5713
6085
|
/**
|
|
5714
6086
|
* 联合体
|
|
5715
6087
|
*/
|
|
5716
|
-
Union = 524288
|
|
6088
|
+
Union = 524288,
|
|
6089
|
+
/**
|
|
6090
|
+
* 电子围栏
|
|
6091
|
+
*/
|
|
6092
|
+
Fence = 1048576
|
|
5717
6093
|
}
|
|
5718
6094
|
/**
|
|
5719
6095
|
* 环境贴图资源枚举
|
|
@@ -6151,7 +6527,11 @@ export declare enum SystemResId {
|
|
|
6151
6527
|
/**
|
|
6152
6528
|
* 视频融合透明度贴图
|
|
6153
6529
|
*/
|
|
6154
|
-
VideoFusionOpacityTexture = "f29a93b7c7a413ddbd8e5afe18c5afcf"
|
|
6530
|
+
VideoFusionOpacityTexture = "f29a93b7c7a413ddbd8e5afe18c5afcf",
|
|
6531
|
+
/**
|
|
6532
|
+
* 电子围栏贴图
|
|
6533
|
+
*/
|
|
6534
|
+
FenceTexuture = "0ce6fc68f64afa03bcf7b913071a48cb"
|
|
6155
6535
|
}
|
|
6156
6536
|
/** 文本对齐方式 */
|
|
6157
6537
|
export declare enum TxtAlign {
|
|
@@ -6513,6 +6893,30 @@ export interface IDisposable {
|
|
|
6513
6893
|
*/
|
|
6514
6894
|
dispose(): void;
|
|
6515
6895
|
}
|
|
6896
|
+
/**
|
|
6897
|
+
* SelectionOutlineLayer 配置选项接口
|
|
6898
|
+
*
|
|
6899
|
+
* 继承自 IEffectLayerOptions,添加了选择轮廓特有的配置项。
|
|
6900
|
+
*/
|
|
6901
|
+
export interface ISelectionOutlineLayerOptions extends IEffectLayerOptions {
|
|
6902
|
+
/**
|
|
6903
|
+
* 主纹理采样数
|
|
6904
|
+
* 用于多重采样抗锯齿,默认为1(无抗锯齿)
|
|
6905
|
+
*/
|
|
6906
|
+
mainTextureSamples?: number;
|
|
6907
|
+
/**
|
|
6908
|
+
* 是否存储相机空间Z值
|
|
6909
|
+
* true: 使用相机空间Z值进行深度计算(更精确)
|
|
6910
|
+
* false: 使用归一化深度值(默认)
|
|
6911
|
+
*/
|
|
6912
|
+
storeCameraSpaceZ?: boolean;
|
|
6913
|
+
/**
|
|
6914
|
+
* 轮廓检测方法
|
|
6915
|
+
* OUTLINELAYER_SAMPLING_TRIDIRECTIONAL: 三向采样(默认)
|
|
6916
|
+
* OUTLINELAYER_SAMPLING_OCTADIRECTIONAL: 八向采样
|
|
6917
|
+
*/
|
|
6918
|
+
outlineMethod?: number;
|
|
6919
|
+
}
|
|
6516
6920
|
/**
|
|
6517
6921
|
* 资源项
|
|
6518
6922
|
*/
|