Unify object id rendering with render passes

This commit is contained in:
2026-04-05 18:20:19 +08:00
parent a600e73fb2
commit 8ced88e847
7 changed files with 72 additions and 64 deletions

View File

@@ -8,7 +8,6 @@
#include <XCEngine/RHI/RHITexture.h>
#include <XCEngine/Core/Math/Vector4.h>
#include <XCEngine/Rendering/CameraRenderer.h>
#include <XCEngine/Rendering/ObjectIdPass.h>
#include <XCEngine/Rendering/RenderPipelineAsset.h>
#include <XCEngine/Rendering/RenderSurface.h>
#include <XCEngine/Rendering/SceneRenderer.h>
@@ -326,7 +325,7 @@ private:
std::shared_ptr<MockPipelineAssetState> m_state;
};
class MockObjectIdPass final : public ObjectIdPass {
class MockObjectIdPass final : public RenderPass {
public:
MockObjectIdPass(
std::shared_ptr<MockPipelineState> state,
@@ -335,10 +334,11 @@ public:
, m_renderResult(renderResult) {
}
bool Render(
const RenderContext&,
const RenderSurface&,
const RenderSceneData&) override {
const char* GetName() const override {
return "MockObjectIdPass";
}
bool Execute(const RenderPassContext&) override {
m_state->eventLog.push_back("objectId");
return m_renderResult;
}