refactor(rendering): make camera frame plans own generated sequences

This commit is contained in:
2026-04-15 21:06:30 +08:00
parent 8798e63e32
commit 966106e0c0
8 changed files with 207 additions and 29 deletions

View File

@@ -36,6 +36,40 @@ void CameraFramePlan::ConfigureGraphManagedSceneSurface() {
BuildGraphManagedIntermediateSurfaceTemplate(request.surface);
}
void CameraFramePlan::ClearOwnedPostProcessSequence() {
if (postProcess.passes == m_ownedPostProcessSequence.get()) {
postProcess.passes = nullptr;
}
m_ownedPostProcessSequence.reset();
}
void CameraFramePlan::SetOwnedPostProcessSequence(
std::shared_ptr<RenderPassSequence> sequence) {
ClearOwnedPostProcessSequence();
m_ownedPostProcessSequence = std::move(sequence);
if (m_ownedPostProcessSequence != nullptr) {
postProcess.passes = m_ownedPostProcessSequence.get();
}
}
void CameraFramePlan::ClearOwnedFinalOutputSequence() {
if (finalOutput.passes == m_ownedFinalOutputSequence.get()) {
finalOutput.passes = nullptr;
}
m_ownedFinalOutputSequence.reset();
}
void CameraFramePlan::SetOwnedFinalOutputSequence(
std::shared_ptr<RenderPassSequence> sequence) {
ClearOwnedFinalOutputSequence();
m_ownedFinalOutputSequence = std::move(sequence);
if (m_ownedFinalOutputSequence != nullptr) {
finalOutput.passes = m_ownedFinalOutputSequence.get();
}
}
bool CameraFramePlan::UsesGraphManagedSceneColor() const {
return colorChain.usesGraphManagedSceneColor;
}