35 lines
877 B
C++
35 lines
877 B
C++
#pragma once
|
|
|
|
#include <XCEngine/Core/Types.h>
|
|
#include <XCEngine/Rendering/Execution/ScenePhase.h>
|
|
#include <XCEngine/Rendering/Execution/SceneRenderInjectionPoint.h>
|
|
|
|
#include <array>
|
|
|
|
namespace XCEngine {
|
|
namespace Rendering {
|
|
|
|
class SceneRenderFeatureHost;
|
|
|
|
namespace Pipelines {
|
|
namespace Internal {
|
|
|
|
enum class ForwardSceneStepType : Core::uint8 {
|
|
InjectionPoint,
|
|
BuiltinPhase
|
|
};
|
|
|
|
struct ForwardSceneStep {
|
|
ForwardSceneStepType type = ForwardSceneStepType::BuiltinPhase;
|
|
SceneRenderInjectionPoint injectionPoint = SceneRenderInjectionPoint::BeforeOpaque;
|
|
ScenePhase scenePhase = ScenePhase::Opaque;
|
|
};
|
|
|
|
const std::array<ForwardSceneStep, 9>& GetBuiltinForwardSceneSteps();
|
|
void RegisterBuiltinForwardSceneFeatures(SceneRenderFeatureHost& featureHost);
|
|
|
|
} // namespace Internal
|
|
} // namespace Pipelines
|
|
} // namespace Rendering
|
|
} // namespace XCEngine
|