2026-03-26 20:43:17 +08:00
|
|
|
#include "Rendering/Pipelines/BuiltinForwardPipeline.h"
|
|
|
|
|
|
2026-04-14 20:50:31 +08:00
|
|
|
#include "Rendering/Pipelines/Internal/BuiltinForwardSceneSetup.h"
|
2026-03-26 20:43:17 +08:00
|
|
|
|
|
|
|
|
namespace XCEngine {
|
|
|
|
|
namespace Rendering {
|
|
|
|
|
namespace Pipelines {
|
|
|
|
|
|
2026-03-30 02:22:17 +08:00
|
|
|
BuiltinForwardPipeline::BuiltinForwardPipeline() {
|
2026-04-14 20:50:31 +08:00
|
|
|
Internal::RegisterBuiltinForwardSceneFeatures(m_forwardSceneFeatureHost);
|
2026-03-30 02:22:17 +08:00
|
|
|
}
|
|
|
|
|
|
2026-03-26 20:43:17 +08:00
|
|
|
BuiltinForwardPipeline::~BuiltinForwardPipeline() {
|
|
|
|
|
Shutdown();
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-14 20:50:31 +08:00
|
|
|
void BuiltinForwardPipeline::AddForwardSceneFeaturePass(
|
|
|
|
|
std::unique_ptr<SceneRenderFeaturePass> featurePass) {
|
|
|
|
|
m_forwardSceneFeatureHost.AddFeaturePass(std::move(featurePass));
|
2026-04-05 23:00:33 +08:00
|
|
|
}
|
|
|
|
|
|
2026-04-14 20:50:31 +08:00
|
|
|
size_t BuiltinForwardPipeline::GetForwardSceneFeaturePassCount() const {
|
|
|
|
|
return m_forwardSceneFeatureHost.GetFeaturePassCount();
|
2026-04-05 23:44:32 +08:00
|
|
|
}
|
|
|
|
|
|
2026-04-14 20:50:31 +08:00
|
|
|
SceneRenderFeaturePass* BuiltinForwardPipeline::GetForwardSceneFeaturePass(size_t index) const {
|
|
|
|
|
return m_forwardSceneFeatureHost.GetFeaturePass(index);
|
2026-04-05 23:00:33 +08:00
|
|
|
}
|
|
|
|
|
|
2026-04-14 20:50:31 +08:00
|
|
|
std::unique_ptr<RenderPipeline> BuiltinForwardPipelineAsset::CreatePipeline() const {
|
|
|
|
|
return std::make_unique<BuiltinForwardPipeline>();
|
2026-04-02 19:00:48 +08:00
|
|
|
}
|
|
|
|
|
|
2026-03-26 20:43:17 +08:00
|
|
|
} // namespace Pipelines
|
|
|
|
|
} // namespace Rendering
|
|
|
|
|
} // namespace XCEngine
|