2026-04-04 17:35:23 +08:00
|
|
|
# ScenePassRenderRequest::IsValid
|
|
|
|
|
|
|
|
|
|
检查当前 scene pass 输出目标是否满足执行 pass 的最小条件。
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
bool IsValid() const;
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 行为说明
|
|
|
|
|
|
|
|
|
|
当前头文件内联实现要求同时满足:
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
const std::vector<RHI::RHIResourceView*>& colorAttachments = surface.GetColorAttachments();
|
|
|
|
|
return !colorAttachments.empty() &&
|
|
|
|
|
colorAttachments[0] != nullptr &&
|
|
|
|
|
surface.GetDepthAttachment() != nullptr &&
|
|
|
|
|
surface.GetRenderAreaWidth() > 0 &&
|
|
|
|
|
surface.GetRenderAreaHeight() > 0;
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 第一个颜色附件非空、深度附件非空且 render area 宽高都大于 `0` 时返回 `true`。
|
|
|
|
|
- 否则返回 `false`。
|
|
|
|
|
|
|
|
|
|
## 与 `CameraRenderer::Render()` 的关系
|
|
|
|
|
|
|
|
|
|
- `CameraRenderer::Render()` 会先看 [IsRequested](IsRequested.md)。
|
|
|
|
|
- 如果请求了 `shadowCaster` 或 `depthOnly`,但这里返回 `false`,整次相机渲染会直接失败。
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
|
|
|
|
- [返回类型总览](ScenePassRenderRequest.md)
|
|
|
|
|
- [IsRequested](IsRequested.md)
|
2026-04-10 16:55:33 +08:00
|
|
|
- [CameraRenderer::Render](../../../Execution/CameraRenderer/Render.md)
|