#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