docs(rendering): tighten planning and viewport docs
This commit is contained in:
@@ -20,13 +20,24 @@
|
||||
|
||||
这样 Editor、离屏渲染和手工 request 注入都能复用同一套规划规则,而不用直接碰 `CameraRenderer` 内部执行链。
|
||||
|
||||
## 公开方法
|
||||
## 公开类型与方法
|
||||
|
||||
当前头文件除了 planner 本体,还公开了:
|
||||
|
||||
- `DirectionalShadowPlanningSettings`
|
||||
负责控制自动方向光阴影规划的 map 尺寸、focus 距离、padding 和深度范围下限。
|
||||
|
||||
公开方法包括:
|
||||
|
||||
| 方法 | 说明 |
|
||||
|------|------|
|
||||
| `SetDirectionalShadowPlanningSettings(...)` | 写入一份会先经过 sanitize 的阴影规划参数。 |
|
||||
| `GetDirectionalShadowPlanningSettings()` | 返回当前生效的阴影规划参数。 |
|
||||
| [CollectCameras](CollectCameras.md) | 收集本次应参与渲染的相机列表。 |
|
||||
| [BuildRequests](BuildRequests.md) | 把相机列表展开成可执行的 `CameraRenderRequest` 数组。 |
|
||||
|
||||
## 公开方法
|
||||
|
||||
## 当前规划规则
|
||||
|
||||
### `CollectCameras()`
|
||||
@@ -48,6 +59,13 @@
|
||||
这两个计数会影响自动 clear flag 的推导。
|
||||
如果某个相机最终解析出的 render area 宽高为 `0`,该请求会被直接丢弃,而且不会错误地推进 base camera 计数。
|
||||
|
||||
如果当前相机满足方向光阴影规划条件,planner 还会:
|
||||
|
||||
- 查找当前 `cullingMask` 下可投影阴影的主方向光
|
||||
- 用 `DirectionalShadowPlanningSettings` 生成 `request.directionalShadow`
|
||||
- 在 plan 有效时,把 `shadowCaster.clearFlags` 固定为 `RenderClearFlags::Depth`
|
||||
- 同时把 `shadowCaster.hasCameraDataOverride` 和 `cameraDataOverride` 写成阴影相机数据
|
||||
|
||||
## 设计取舍
|
||||
|
||||
当前 planner 故意保持“只做一件事”:
|
||||
@@ -72,6 +90,7 @@
|
||||
- 它只规划相机请求,不处理 `objectId` 或各类 `RenderPassSequence` 的具体填充;那部分通常由更上层调用方补充。
|
||||
- 当前没有 camera stacking 的更复杂依赖分析,只有 base / overlay 与 depth 的线性排序。
|
||||
- `BuildRequests()` 只返回成功构建的请求,不单独报告被过滤掉的相机原因。
|
||||
- 自动方向光阴影规划目前只产出单张 shadow map 方案,不在这里处理级联阴影或多光源阴影编排。
|
||||
|
||||
## 相关文档
|
||||
|
||||
|
||||
Reference in New Issue
Block a user