Split builtin pass contract utilities
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "Core/Asset/ResourceManager.h"
|
||||
#include "Debug/Logger.h"
|
||||
#include "RHI/RHICommandList.h"
|
||||
#include "Rendering/BuiltinPassLayoutUtils.h"
|
||||
#include "Rendering/RenderMaterialResolve.h"
|
||||
#include "Rendering/Detail/ShaderVariantUtils.h"
|
||||
#include "Rendering/RenderSceneExtractor.h"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "RHI/RHICommandList.h"
|
||||
#include "RHI/RHIPipelineLayout.h"
|
||||
#include "RHI/RHIPipelineState.h"
|
||||
#include "Rendering/BuiltinPassContract.h"
|
||||
#include "Rendering/BuiltinPassLayoutUtils.h"
|
||||
#include "Rendering/Detail/ShaderVariantUtils.h"
|
||||
#include "Rendering/RenderSceneExtractor.h"
|
||||
#include "Rendering/RenderSurface.h"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "Debug/Logger.h"
|
||||
#include "RHI/RHICommandList.h"
|
||||
#include "RHI/RHIDevice.h"
|
||||
#include "Rendering/BuiltinPassContract.h"
|
||||
#include "Rendering/BuiltinPassLayoutUtils.h"
|
||||
#include "Rendering/Detail/ShaderVariantUtils.h"
|
||||
#include "Rendering/RenderMaterialResolve.h"
|
||||
#include "Rendering/RenderMaterialStateUtils.h"
|
||||
@@ -23,22 +23,6 @@ namespace {
|
||||
constexpr float kForwardAmbientIntensity = 0.28f;
|
||||
constexpr float kSpotInnerAngleRatio = 0.8f;
|
||||
|
||||
bool TryResolveSurfacePassType(
|
||||
const Resources::Material* material,
|
||||
BuiltinMaterialPass& outPass) {
|
||||
if (MatchesBuiltinPass(material, BuiltinMaterialPass::Unlit)) {
|
||||
outPass = BuiltinMaterialPass::Unlit;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (MatchesBuiltinPass(material, BuiltinMaterialPass::ForwardLit)) {
|
||||
outPass = BuiltinMaterialPass::ForwardLit;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
const Resources::ShaderPass* FindCompatibleSurfacePass(
|
||||
const Resources::Shader& shader,
|
||||
const Resources::Material* material,
|
||||
@@ -117,6 +101,22 @@ RHI::GraphicsPipelineDesc CreatePipelineDesc(
|
||||
|
||||
} // namespace
|
||||
|
||||
bool BuiltinForwardPipeline::TryResolveSurfacePassType(
|
||||
const Resources::Material* material,
|
||||
BuiltinMaterialPass& outPass) {
|
||||
if (MatchesBuiltinPass(material, BuiltinMaterialPass::Unlit)) {
|
||||
outPass = BuiltinMaterialPass::Unlit;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (MatchesBuiltinPass(material, BuiltinMaterialPass::ForwardLit)) {
|
||||
outPass = BuiltinMaterialPass::ForwardLit;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
BuiltinForwardPipeline::ResolvedShaderPass BuiltinForwardPipeline::ResolveSurfaceShaderPass(
|
||||
const Resources::Material* material) const {
|
||||
ResolvedShaderPass resolved = {};
|
||||
|
||||
Reference in New Issue
Block a user