Split builtin depth-style concrete passes
This commit is contained in:
@@ -456,6 +456,8 @@ add_library(XCEngine STATIC
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/XCEngine/Rendering/Pipelines/BuiltinForwardPipeline.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/CameraRenderer.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/CameraRenderer.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinDepthStylePassBase.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinDepthStylePassBase.cpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinDepthOnlyPass.cpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinShadowCasterPass.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinObjectIdPass.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinObjectIdPass.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinInfiniteGridPass.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinInfiniteGridPass.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinObjectIdOutlinePass.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/src/Rendering/Passes/BuiltinObjectIdOutlinePass.cpp
|
||||||
|
|||||||
25
engine/src/Rendering/Passes/BuiltinDepthOnlyPass.cpp
Normal file
25
engine/src/Rendering/Passes/BuiltinDepthOnlyPass.cpp
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#include "Rendering/Passes/BuiltinDepthOnlyPass.h"
|
||||||
|
|
||||||
|
#include "Resources/BuiltinResources.h"
|
||||||
|
|
||||||
|
namespace XCEngine {
|
||||||
|
namespace Rendering {
|
||||||
|
namespace Passes {
|
||||||
|
|
||||||
|
BuiltinDepthOnlyPass::BuiltinDepthOnlyPass()
|
||||||
|
: BuiltinDepthStylePassBase(
|
||||||
|
BuiltinMaterialPass::DepthOnly,
|
||||||
|
Resources::GetBuiltinDepthOnlyShaderPath()) {
|
||||||
|
}
|
||||||
|
|
||||||
|
RHI::InputLayoutDesc BuiltinDepthOnlyPass::BuildInputLayout() {
|
||||||
|
return BuildCommonInputLayout();
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* BuiltinDepthOnlyPass::GetName() const {
|
||||||
|
return "BuiltinDepthOnlyPass";
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Passes
|
||||||
|
} // namespace Rendering
|
||||||
|
} // namespace XCEngine
|
||||||
@@ -1,16 +1,11 @@
|
|||||||
#include "Rendering/Passes/BuiltinDepthStylePassBase.h"
|
#include "Rendering/Passes/BuiltinDepthStylePassBase.h"
|
||||||
#include "Rendering/Passes/BuiltinDepthOnlyPass.h"
|
|
||||||
#include "Rendering/Passes/BuiltinShadowCasterPass.h"
|
|
||||||
|
|
||||||
#include "Components/GameObject.h"
|
#include "Components/GameObject.h"
|
||||||
#include "Components/MeshRendererComponent.h"
|
|
||||||
#include "Core/Asset/ResourceManager.h"
|
#include "Core/Asset/ResourceManager.h"
|
||||||
#include "Debug/Logger.h"
|
#include "Debug/Logger.h"
|
||||||
#include "RHI/RHICommandList.h"
|
#include "RHI/RHICommandList.h"
|
||||||
#include "Rendering/Detail/ShaderVariantUtils.h"
|
#include "Rendering/Detail/ShaderVariantUtils.h"
|
||||||
#include "Rendering/RenderSceneExtractor.h"
|
#include "Rendering/RenderSceneExtractor.h"
|
||||||
#include "Rendering/RenderSurface.h"
|
#include "Rendering/RenderSurface.h"
|
||||||
#include "Resources/BuiltinResources.h"
|
|
||||||
#include "Resources/Material/Material.h"
|
#include "Resources/Material/Material.h"
|
||||||
#include "Resources/Mesh/Mesh.h"
|
#include "Resources/Mesh/Mesh.h"
|
||||||
|
|
||||||
@@ -716,38 +711,6 @@ bool BuiltinDepthStylePassBase::DrawVisibleItem(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
BuiltinDepthOnlyPass::BuiltinDepthOnlyPass()
|
|
||||||
: BuiltinDepthStylePassBase(
|
|
||||||
BuiltinMaterialPass::DepthOnly,
|
|
||||||
Resources::GetBuiltinDepthOnlyShaderPath()) {
|
|
||||||
}
|
|
||||||
|
|
||||||
RHI::InputLayoutDesc BuiltinDepthOnlyPass::BuildInputLayout() {
|
|
||||||
return BuildCommonInputLayout();
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* BuiltinDepthOnlyPass::GetName() const {
|
|
||||||
return "BuiltinDepthOnlyPass";
|
|
||||||
}
|
|
||||||
|
|
||||||
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 Passes
|
||||||
} // namespace Rendering
|
} // namespace Rendering
|
||||||
} // namespace XCEngine
|
} // namespace XCEngine
|
||||||
|
|||||||
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