Implement KRCamera::preStream

This commit is contained in:
2025-11-13 22:52:43 -08:00
parent 2ce2582318
commit be2116d338
2 changed files with 13 additions and 4 deletions

View File

@@ -143,6 +143,17 @@ const std::string KRCamera::getSkyBox() const
return m_skyBox.getName(); 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) void KRCamera::render(KRNode::RenderInfo& ri)
{ {
KRScene& scene = getScene(); KRScene& scene = getScene();
@@ -154,10 +165,7 @@ void KRCamera::render(KRNode::RenderInfo& ri)
GL_PUSH_GROUP_MARKER("Sky Box"); GL_PUSH_GROUP_MARKER("Sky Box");
m_skyBox.bind(&getContext());
if (m_skyBox.isBound()) { if (m_skyBox.isBound()) {
m_skyBox.get()->resetPoolExpiry(0.0f, KRTexture::TEXTURE_USAGE_SKY_CUBE);
std::string shader_name("sky_box"); std::string shader_name("sky_box");
PipelineInfo info{}; PipelineInfo info{};

View File

@@ -61,7 +61,8 @@ public:
void renderFrame(VkCommandBuffer& commandBuffer, KRSurface& compositeSurface, KRRenderGraph& renderGraph); 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; KRRenderSettings settings;