- let DrawingSettings carry an optional shaderPassName across managed and native scene draw APIs - allow RenderObjectsRendererFeature to author explicit ForwardLit or Unlit scene draws - exercise the new scene draw pass selection seam in the project render pipeline probe
29 lines
770 B
C++
29 lines
770 B
C++
#pragma once
|
|
|
|
#include <XCEngine/Core/Asset/ResourceHandle.h>
|
|
#include <XCEngine/Core/Containers/String.h>
|
|
#include <XCEngine/Rendering/Execution/ScenePhase.h>
|
|
#include <XCEngine/Rendering/FrameData/CullingResults.h>
|
|
#include <XCEngine/Resources/Material/Material.h>
|
|
|
|
namespace XCEngine {
|
|
namespace Rendering {
|
|
|
|
struct DrawSettings {
|
|
ScenePhase scenePhase = ScenePhase::Opaque;
|
|
RendererListDesc rendererListDesc = {};
|
|
Resources::ResourceHandle<Resources::Material> overrideMaterial = {};
|
|
Containers::String shaderPassName = {};
|
|
|
|
bool HasOverrideMaterial() const {
|
|
return overrideMaterial.IsValid();
|
|
}
|
|
|
|
bool HasShaderPassName() const {
|
|
return !shaderPassName.Empty();
|
|
}
|
|
};
|
|
|
|
} // namespace Rendering
|
|
} // namespace XCEngine
|