Files
XCEngine/docs/api/XCEngine/Rendering/Planning/CameraRenderRequest/ScenePassRenderRequest/IsValid.md

37 lines
1.1 KiB
Markdown
Raw Normal View History

# 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)
- [CameraRenderer::Render](../../../Execution/CameraRenderer/Render.md)