deep-engine-demo/packages/docs/api/manager/PipelineManager.md
2026-04-19 18:46:28 +08:00

373 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
outline: [2, 3]
---
# PipelineManager
- 源文件:`packages/sdk/src/manager/PipelineManager.ts`
- 文档位置:`packages/docs/api/manager/PipelineManager.md`
## 类:`PipelineManager`
- 作用:管线管理器 用于管理渲染管线效果如描边、Bloom 等
### 构造函数
#### `new PipelineManager(viewer: Viewer)`
- 作用:构造函数
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `viewer` | `Viewer` | 是 | - Viewer 实例 |
- 出参:`PipelineManager`
- 返回说明:返回当前类实例。
### 属性
| 属性名 | 可见性 | 类型 | 作用 |
| --- | --- | --- | --- |
| `renderer` | `public` | `THREE.WebGPURenderer` | 用于保存 `renderer` 对应的数据。 |
| `scene` | `public` | `THREE.Scene` | 用于保存 `scene` 对应的数据。 |
| `sceneHelpers` | `public` | `THREE.Scene` | 用于保存 `sceneHelpers` 对应的数据。 |
| `outlinePass` | `public` | `OutlinePass` | 用于保存 `outlinePass` 对应的数据。 |
| `bloomPass` | `public` | `BloomPass` | 用于保存 `bloomPass` 对应的数据。 |
| `enableOutline` | `public` | `boolean` | 用于标记 `enableOutline` 的启用状态。 |
| `enableBloom` | `public` | `boolean` | 用于标记 `enableBloom` 的启用状态。 |
### 访问器
#### `get renderPipeline(): THREE.RenderPipeline | null`
- 作用:获取当前激活的渲染管线
- 入参:无
- 出参:`THREE.RenderPipeline \| null`
- 返回说明:返回 `THREE.RenderPipeline | null`
### 方法
#### `init(): void`
- 作用:初始化管线管理器
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `updateCamera(): void`
- 作用:更新相机引用 当相机类型切换时调用
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `updateRenderPipeline(): void`
- 作用:更新渲染管道
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `render(): void`
- 作用:渲染场景
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `addSelectedObject(object: THREE.Object3D): void`
- 作用:添加要描边的对象
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `object` | `THREE.Object3D` | 是 | - 要添加的对象 |
- 出参:`void`
- 返回说明:无返回值。
#### `removeSelectedObject(object: THREE.Object3D): void`
- 作用:移除要描边的对象
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `object` | `THREE.Object3D` | 是 | - 要移除的对象 |
- 出参:`void`
- 返回说明:无返回值。
#### `clearSelectedObjects(): void`
- 作用:清空所有要描边的对象
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `setEdgeStrength(value: number): void`
- 作用:设置描边强度
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - 描边强度值 |
- 出参:`void`
- 返回说明:无返回值。
#### `setEdgeGlow(value: number): void`
- 作用:设置描边 glow 效果
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - glow 效果值 |
- 出参:`void`
- 返回说明:无返回值。
#### `setEdgeThickness(value: number): void`
- 作用:设置描边厚度
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - 描边厚度值 |
- 出参:`void`
- 返回说明:无返回值。
#### `setPulsePeriod(value: number): void`
- 作用:设置描边脉冲周期
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - 脉冲周期值 |
- 出参:`void`
- 返回说明:无返回值。
#### `setVisibleEdgeColor(color: THREE.Color): void`
- 作用:设置可见边的颜色
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `color` | `THREE.Color` | 是 | - 颜色值 |
- 出参:`void`
- 返回说明:无返回值。
#### `setHiddenEdgeColor(color: THREE.Color): void`
- 作用:设置隐藏边的颜色
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `color` | `THREE.Color` | 是 | - 颜色值 |
- 出参:`void`
- 返回说明:无返回值。
#### `setBloomThreshold(value: number): void`
- 作用:设置 Bloom 阈值
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - 阈值,范围 0.0 到 1.0 |
- 出参:`void`
- 返回说明:无返回值。
#### `setBloomStrength(value: number): void`
- 作用:设置 Bloom 强度
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - 强度,范围 0.0 到 3.0 |
- 出参:`void`
- 返回说明:无返回值。
#### `setBloomRadius(value: number): void`
- 作用:设置 Bloom 半径
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `value` | `number` | 是 | - 半径,范围 0.0 到 1.0 |
- 出参:`void`
- 返回说明:无返回值。
#### `setOutlineEnabled(enabled: boolean): void`
- 作用:启用或禁用描边效果
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `enabled` | `boolean` | 是 | - 是否启用 |
- 出参:`void`
- 返回说明:无返回值。
#### `setBloomEnabled(enabled: boolean): void`
- 作用:启用或禁用 Bloom 效果
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `enabled` | `boolean` | 是 | - 是否启用 |
- 出参:`void`
- 返回说明:无返回值。
#### `getSelectedObjects(): THREE.Object3D<THREE.Object3DEventMap>[]`
- 作用:获取当前选中的对象列表
- 入参:无
- 出参:`THREE.Object3D<THREE.Object3DEventMap>[]`
- 返回说明:选中的对象列表
#### `isObjectInOutlineList(object: THREE.Object3D): boolean`
- 作用:检查对象是否在描边列表中
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `object` | `THREE.Object3D` | 是 | - 要检查的对象 |
- 出参:`boolean`
- 返回说明:是否在描边列表中
#### `addHighlightedObject(object: THREE.Object3D, highlightColor: THREE.Color = new THREE.Color(0, 1, 0)): void`
- 作用:添加要高亮的对象
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `object` | `THREE.Object3D` | 是 | - 要高亮的对象 |
| `highlightColor` | `THREE.Color` | 否 | - 高亮颜色,默认为绿色 (0, 1, 0) |
- 出参:`void`
- 返回说明:无返回值。
#### `removeHighlightedObject(object: THREE.Object3D): void`
- 作用:移除要高亮的对象
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `object` | `THREE.Object3D` | 是 | - 要移除的对象 |
- 出参:`void`
- 返回说明:无返回值。
#### `clearHighlightedObjects(): void`
- 作用:清空所有要高亮的对象
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
#### `isObjectInBloomList(object: THREE.Object3D): boolean`
- 作用:检查对象是否在高亮列表中
- 入参:
| 参数名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `object` | `THREE.Object3D` | 是 | - 要检查的对象 |
- 出参:`boolean`
- 返回说明:是否在高亮列表中
#### `getOutlinePass(): OutlinePass`
- 作用:获取描边通道实例
- 入参:无
- 出参:`OutlinePass`
- 返回说明:描边通道实例
#### `getBloomPass(): BloomPass`
- 作用:获取 Bloom 通道实例
- 入参:无
- 出参:`BloomPass`
- 返回说明Bloom 通道实例
#### `dispose(): void`
- 作用:销毁管线管理器
- 入参:无
- 出参:`void`
- 返回说明:无返回值。
## 构造示例
- 当前 Demo 中没有直接展示 `PipelineManager` 的构造调用。
## 函数示例
- 当前 Demo 中没有直接展示 `PipelineManager` 的公开方法调用。