Files
XCEngine/engine/src/Rendering/Passes/BuiltinShadowCasterPass.cpp

36 lines
1.0 KiB
C++

#include "Rendering/Passes/BuiltinShadowCasterPass.h"
#include "Components/MeshRendererComponent.h"
#include "Rendering/FrameData/VisibleRenderItem.h"
#include "Resources/BuiltinResources.h"
namespace XCEngine {
namespace Rendering {
namespace Passes {
BuiltinShadowCasterPass::BuiltinShadowCasterPass()
: BuiltinDepthStylePassBase(
BuiltinMaterialPass::ShadowCaster,
Resources::GetBuiltinShadowCasterShaderPath()) {
}
RHI::InputLayoutDesc BuiltinShadowCasterPass::BuildInputLayout() {
return BuildCommonInputLayout();
}
const char* BuiltinShadowCasterPass::GetName() const {
return "BuiltinShadowCasterPass";
}
RendererListType BuiltinShadowCasterPass::GetRendererListType() const {
return RendererListType::ShadowCaster;
}
bool BuiltinShadowCasterPass::ShouldRenderVisibleItem(const VisibleRenderItem& visibleItem) const {
return visibleItem.meshRenderer == nullptr || visibleItem.meshRenderer->GetCastShadows();
}
} // namespace Passes
} // namespace Rendering
} // namespace XCEngine