Refactor rendering frame execution contracts
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "RHI/RHICommandList.h"
|
||||
#include "Rendering/Extraction/RenderSceneExtractor.h"
|
||||
#include "Rendering/FrameData/RendererListUtils.h"
|
||||
#include "Rendering/Internal/RenderSurfacePipelineUtils.h"
|
||||
#include "Rendering/RenderSurface.h"
|
||||
#include "Resources/Mesh/Mesh.h"
|
||||
@@ -139,13 +140,16 @@ bool BuiltinDepthStylePassBase::Execute(const RenderPassContext& context) {
|
||||
|
||||
commandList->SetPrimitiveTopology(RHI::PrimitiveTopology::TriangleList);
|
||||
|
||||
for (const VisibleRenderItem& visibleItem : context.sceneData.visibleItems) {
|
||||
if (!ShouldRenderVisibleItem(visibleItem)) {
|
||||
continue;
|
||||
}
|
||||
VisitRendererListVisibleItems(
|
||||
context.sceneData,
|
||||
GetRendererListType(),
|
||||
[&](const VisibleRenderItem& visibleItem) {
|
||||
if (!ShouldRenderVisibleItem(visibleItem)) {
|
||||
return;
|
||||
}
|
||||
|
||||
DrawVisibleItem(context.renderContext, context.surface, context.sceneData, visibleItem);
|
||||
}
|
||||
DrawVisibleItem(context.renderContext, context.surface, context.sceneData, visibleItem);
|
||||
});
|
||||
|
||||
commandList->EndRenderPass();
|
||||
|
||||
@@ -165,6 +169,10 @@ bool BuiltinDepthStylePassBase::Execute(const RenderPassContext& context) {
|
||||
return true;
|
||||
}
|
||||
|
||||
RendererListType BuiltinDepthStylePassBase::GetRendererListType() const {
|
||||
return RendererListType::AllVisible;
|
||||
}
|
||||
|
||||
bool BuiltinDepthStylePassBase::ShouldRenderVisibleItem(const VisibleRenderItem& visibleItem) const {
|
||||
(void)visibleItem;
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user