From be2116d3388ba5c5a093b8399d42fa4223c08715 Mon Sep 17 00:00:00 2001 From: Kearwood Gilbert Date: Thu, 13 Nov 2025 22:52:43 -0800 Subject: [PATCH] Implement KRCamera::preStream --- kraken/nodes/KRCamera.cpp | 14 +++++++++++--- kraken/nodes/KRCamera.h | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/kraken/nodes/KRCamera.cpp b/kraken/nodes/KRCamera.cpp index 6ab0678..07ec285 100755 --- a/kraken/nodes/KRCamera.cpp +++ b/kraken/nodes/KRCamera.cpp @@ -143,6 +143,17 @@ const std::string KRCamera::getSkyBox() const return m_skyBox.getName(); } +void KRCamera::preStream(const KRViewport& viewport) +{ + KRNode::preStream(viewport); + + m_skyBox.bind(&getContext()); + + if (m_skyBox.isBound()) { + m_skyBox.get()->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_SKY_CUBE); + } +} + void KRCamera::render(KRNode::RenderInfo& ri) { KRScene& scene = getScene(); @@ -154,10 +165,7 @@ void KRCamera::render(KRNode::RenderInfo& ri) GL_PUSH_GROUP_MARKER("Sky Box"); - m_skyBox.bind(&getContext()); - if (m_skyBox.isBound()) { - m_skyBox.get()->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_SKY_CUBE); std::string shader_name("sky_box"); PipelineInfo info{}; diff --git a/kraken/nodes/KRCamera.h b/kraken/nodes/KRCamera.h index 8454f4c..2119217 100755 --- a/kraken/nodes/KRCamera.h +++ b/kraken/nodes/KRCamera.h @@ -61,7 +61,8 @@ public: void renderFrame(VkCommandBuffer& commandBuffer, KRSurface& compositeSurface, KRRenderGraph& renderGraph); - void render(KRNode::RenderInfo& ri); + void preStream(const KRViewport& viewport) final; + void render(KRNode::RenderInfo& ri) final; KRRenderSettings settings;