Split builtin depth-style concrete passes
This commit is contained in:
30
engine/src/Rendering/Passes/BuiltinShadowCasterPass.cpp
Normal file
30
engine/src/Rendering/Passes/BuiltinShadowCasterPass.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
#include "Rendering/Passes/BuiltinShadowCasterPass.h"
|
||||
|
||||
#include "Components/MeshRendererComponent.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";
|
||||
}
|
||||
|
||||
bool BuiltinShadowCasterPass::ShouldRenderVisibleItem(const VisibleRenderItem& visibleItem) const {
|
||||
return visibleItem.meshRenderer == nullptr || visibleItem.meshRenderer->GetCastShadows();
|
||||
}
|
||||
|
||||
} // namespace Passes
|
||||
} // namespace Rendering
|
||||
} // namespace XCEngine
|
||||
Reference in New Issue
Block a user