diff --git a/kraken/KRCamera.cpp b/kraken/KRCamera.cpp index c263f67..bac5299 100755 --- a/kraken/KRCamera.cpp +++ b/kraken/KRCamera.cpp @@ -46,8 +46,6 @@ KRCamera::KRCamera(KRScene &scene, std::string name) : KRNode(scene, name) { m_last_frame_start = 0; m_particlesAbsoluteTime = 0.0f; - m_backingWidth = 0; - m_backingHeight = 0; volumetricBufferWidth = 0; volumetricBufferHeight = 0; m_pSkyBoxTexture = NULL; @@ -102,7 +100,7 @@ const std::string KRCamera::getSkyBox() const return m_skyBox; } -void KRCamera::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, GLint defaultFBO, GLint renderBufferWidth, GLint renderBufferHeight) +void KRCamera::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface) { // ----====---- Record timing information for measuring FPS ----====---- uint64_t current_time = m_pContext->getAbsoluteTimeMilliseconds(); @@ -112,7 +110,7 @@ void KRCamera::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, G } m_last_frame_start = current_time; - createBuffers(renderBufferWidth, renderBufferHeight); + createBuffers(surface.getWidth(), surface.getHeight()); KRScene &scene = getScene(); @@ -121,7 +119,7 @@ void KRCamera::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, G //Matrix4 viewMatrix = Matrix4::Invert(getModelMatrix()); - settings.setViewportSize(Vector2::Create((float)m_backingWidth, (float)m_backingHeight)); + settings.setViewportSize(Vector2::Create((float)surface.getWidth(), (float)surface.getHeight())); Matrix4 projectionMatrix; projectionMatrix.perspective(settings.perspective_fov, settings.m_viewportSize.x / settings.m_viewportSize.y, settings.perspective_nearz, settings.perspective_farz); m_viewport = KRViewport(settings.getViewportSize(), viewMatrix, projectionMatrix); diff --git a/kraken/KRCamera.h b/kraken/KRCamera.h index 4b9ccad..2a7d2ad 100755 --- a/kraken/KRCamera.h +++ b/kraken/KRCamera.h @@ -54,7 +54,7 @@ public: KRCamera(KRScene &scene, std::string name); virtual ~KRCamera(); - void renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, GLint defaultFBO); + void renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface); KRRenderSettings settings; diff --git a/kraken/KRPresentationThread.cpp b/kraken/KRPresentationThread.cpp index 7338b7c..4aa19f6 100644 --- a/kraken/KRPresentationThread.cpp +++ b/kraken/KRPresentationThread.cpp @@ -155,7 +155,7 @@ void KRPresentationThread::renderFrame() // TODO - This needs to be moved to the Render thread... float deltaTime = 0.005; // TODO - Replace dummy value if (scene) { - scene->renderFrame(commandBuffer, surface, 0, deltaTime, surface.m_swapChain->m_extent.width, surface.m_swapChain->m_extent.height); + scene->renderFrame(commandBuffer, surface, deltaTime); } if (vkEndCommandBuffer(commandBuffer) != VK_SUCCESS) { diff --git a/kraken/KRScene.cpp b/kraken/KRScene.cpp index 4e614a8..12fca32 100755 --- a/kraken/KRScene.cpp +++ b/kraken/KRScene.cpp @@ -54,7 +54,7 @@ KRScene::~KRScene() { m_pRootNode = NULL; } -void KRScene::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, GLint defaultFBO, float deltaTime) { +void KRScene::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, float deltaTime) { getContext().startFrame(deltaTime); KRCamera *camera = find("default_camera"); if(camera == NULL) { @@ -70,7 +70,7 @@ void KRScene::renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, GL getContext().getAudioManager()->setReverbMaxLength(camera->settings.siren_reverb_max_length); getContext().getTextureManager()->setMaxAnisotropy(camera->settings.max_anisotropy); - camera->renderFrame(commandBuffer, surface, defaultFBO); + camera->renderFrame(commandBuffer, surface); getContext().endFrame(deltaTime); physicsUpdate(deltaTime); } diff --git a/kraken/KRScene.h b/kraken/KRScene.h index 148dcc2..5f16105 100755 --- a/kraken/KRScene.h +++ b/kraken/KRScene.h @@ -70,7 +70,7 @@ public: bool rayCast(const Vector3 &v0, const Vector3 &dir, HitInfo &hitinfo, unsigned int layer_mask); bool sphereCast(const Vector3 &v0, const Vector3 &v1, float radius, HitInfo &hitinfo, unsigned int layer_mask); - void renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, GLint defaultFBO, float deltaTime); + void renderFrame(VkCommandBuffer& commandBuffer, KRSurface& surface, float deltaTime); void render(VkCommandBuffer& commandBuffer, KRCamera *pCamera, unordered_map &visibleBounds, const KRViewport &viewport, KRNode::RenderPass renderPass, bool new_frame); void render(VkCommandBuffer& commandBuffer, KROctreeNode *pOctreeNode, unordered_map &visibleBounds, KRCamera *pCamera, std::vector &point_lights, std::vector &directional_lights, std::vector&spot_lights, const KRViewport &viewport, KRNode::RenderPass renderPass, std::vector &remainingOctrees, std::vector &remainingOctreesTestResults, std::vector &remainingOctreesTestResultsOnly, bool bOcclusionResultsPass, bool bOcclusionTestResultsOnly);