Introduce CameraRenderRequest scheduling and fix Vulkan build
This commit is contained in:
@@ -36,24 +36,21 @@ void CameraRenderer::SetPipeline(std::unique_ptr<RenderPipeline> pipeline) {
|
||||
}
|
||||
|
||||
bool CameraRenderer::Render(
|
||||
const Components::Scene& scene,
|
||||
Components::CameraComponent* overrideCamera,
|
||||
const RenderContext& context,
|
||||
const RenderSurface& surface) {
|
||||
if (!context.IsValid() || m_pipeline == nullptr) {
|
||||
const CameraRenderRequest& request) {
|
||||
if (!request.IsValid() || m_pipeline == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
RenderSceneData sceneData = m_sceneExtractor.Extract(
|
||||
scene,
|
||||
overrideCamera,
|
||||
surface.GetWidth(),
|
||||
surface.GetHeight());
|
||||
RenderSceneData sceneData = m_sceneExtractor.ExtractForCamera(
|
||||
*request.scene,
|
||||
*request.camera,
|
||||
request.surface.GetWidth(),
|
||||
request.surface.GetHeight());
|
||||
if (!sceneData.HasCamera()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return m_pipeline->Render(context, surface, sceneData);
|
||||
return m_pipeline->Render(request.context, request.surface, sceneData);
|
||||
}
|
||||
|
||||
} // namespace Rendering
|
||||
|
||||
Reference in New Issue
Block a user