From 8c592ba87bbd8919496b563360a747a778d334ab Mon Sep 17 00:00:00 2001 From: antopilo Date: Sun, 12 Jan 2025 22:33:13 -0500 Subject: [PATCH] Fixed wrong camera being used + materials --- Nuake/src/Rendering/Vulkan/SceneRenderPipeline.cpp | 1 - Nuake/src/Rendering/Vulkan/VkResources.h | 10 +++++----- Nuake/src/Rendering/Vulkan/VulkanResources.cpp | 1 + Nuake/src/Rendering/Vulkan/VulkanSceneRenderer.cpp | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Nuake/src/Rendering/Vulkan/SceneRenderPipeline.cpp b/Nuake/src/Rendering/Vulkan/SceneRenderPipeline.cpp index a748e99d..eabb189f 100644 --- a/Nuake/src/Rendering/Vulkan/SceneRenderPipeline.cpp +++ b/Nuake/src/Rendering/Vulkan/SceneRenderPipeline.cpp @@ -118,7 +118,6 @@ void SceneRenderPipeline::Render(PassRenderContext& ctx) // ... other passes }; - ctx.cameraID = CurrentCameraID; GBufferPipeline.Execute(ctx, pipelineInputs); } diff --git a/Nuake/src/Rendering/Vulkan/VkResources.h b/Nuake/src/Rendering/Vulkan/VkResources.h index 5849c413..d0981545 100644 --- a/Nuake/src/Rendering/Vulkan/VkResources.h +++ b/Nuake/src/Rendering/Vulkan/VkResources.h @@ -27,12 +27,12 @@ namespace Nuake // This is what is present on the shader as a structured buffer struct MaterialBufferStruct { - bool HasAlbedo; + int HasAlbedo; Vector3 AlbedoColor; - bool HasNormal; - bool HasMetalness; - bool HasRoughness; - bool HasAO; + int HasNormal; + int HasMetalness; + int HasRoughness; + int HasAO; float MetalnessValue; float RoughnessValue; float AoValue; diff --git a/Nuake/src/Rendering/Vulkan/VulkanResources.cpp b/Nuake/src/Rendering/Vulkan/VulkanResources.cpp index bcec5cc3..fe3cc613 100644 --- a/Nuake/src/Rendering/Vulkan/VulkanResources.cpp +++ b/Nuake/src/Rendering/Vulkan/VulkanResources.cpp @@ -320,6 +320,7 @@ void GPUResources::RecreateBindlessCameras() void GPUResources::UpdateBuffers() { + // Tranforms { void* mappedData; vmaMapMemory(VulkanAllocator::Get().GetAllocator(), (VkRenderer::Get().GetCurrentFrame().ModelStagingBuffer->GetAllocation()), &mappedData); diff --git a/Nuake/src/Rendering/Vulkan/VulkanSceneRenderer.cpp b/Nuake/src/Rendering/Vulkan/VulkanSceneRenderer.cpp index dda392eb..e26b3163 100644 --- a/Nuake/src/Rendering/Vulkan/VulkanSceneRenderer.cpp +++ b/Nuake/src/Rendering/Vulkan/VulkanSceneRenderer.cpp @@ -119,7 +119,7 @@ void VkSceneRenderer::BeginScene(RenderContext inContext) } } - // All transforms & materials + // All transforms & materials` { uint32_t currentIndex = 0; uint32_t currentMaterialIndex = 0; @@ -290,9 +290,10 @@ void VkSceneRenderer::BeginScene(RenderContext inContext) } } - //passCtx.cameraID = GPUResources::Get().GetBindlessCameraID(Context.CameraID); //GBufferPipeline.Execute(passCtx); + // Set back the camera ID to the actual desired camera. + passCtx.cameraID = GPUResources::Get().GetBindlessCameraID(inContext.CameraID); sceneRenderPipeline->Render(passCtx); }