36 lines
1.0 KiB
C++
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
|