From 482c03f9bb563a4958f3b776dea7fca35157115b Mon Sep 17 00:00:00 2001 From: kearwood Date: Mon, 26 Sep 2022 21:19:27 -0700 Subject: [PATCH] Implemented SkyBox texture change for KrCreateNode API. --- kraken/KRCamera.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/kraken/KRCamera.cpp b/kraken/KRCamera.cpp index 8b130be..36e406c 100755 --- a/kraken/KRCamera.cpp +++ b/kraken/KRCamera.cpp @@ -39,8 +39,8 @@ void KRCamera::InitNodeInfo(KrNodeInfo* nodeInfo) { KRNode::InitNodeInfo(nodeInfo); - nodeInfo->camera.surface = -1; - nodeInfo->camera.skybox_texture = -1; + nodeInfo->camera.surface = KR_NULL_HANDLE; + nodeInfo->camera.skybox_texture = KR_NULL_HANDLE; } KrResult KRCamera::update(const KrNodeInfo* nodeInfo) @@ -50,8 +50,22 @@ KrResult KRCamera::update(const KrNodeInfo* nodeInfo) return res; } + KRTexture* skybox_texture = nullptr; + if (nodeInfo->camera.skybox_texture != KR_NULL_HANDLE) { + res = m_pContext->getMappedResource(nodeInfo->camera.skybox_texture, &skybox_texture); + if (res != KR_SUCCESS) { + return res; + } + } + m_pSkyBoxTexture = skybox_texture; + if (m_pSkyBoxTexture) { + m_skyBox = m_pSkyBoxTexture->getName(); + } else { + m_skyBox = ""; + } + // TODO - Implement surface changes - // TODO - Implement skybox changes + return KR_SUCCESS; } KRCamera::KRCamera(KRScene& scene, std::string name) : KRNode(scene, name)