From e6e90c194502542ea8c8a496bfbd5d0af6f7db3c Mon Sep 17 00:00:00 2001 From: kearwood Date: Wed, 3 Oct 2012 19:29:37 +0000 Subject: [PATCH] Now compatible with GLKView's --HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%40112 --- KREngine/KREngine/Classes/KRCamera.cpp | 11 +++++++---- KREngine/KREngine/Classes/KRCamera.h | 2 +- KREngine/KREngine/Classes/KRInstance.cpp | 3 +++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/KREngine/KREngine/Classes/KRCamera.cpp b/KREngine/KREngine/Classes/KRCamera.cpp index 4332f4e..17b80a0 100644 --- a/KREngine/KREngine/Classes/KRCamera.cpp +++ b/KREngine/KREngine/Classes/KRCamera.cpp @@ -132,6 +132,9 @@ void KRCamera::setPosition(const KRVector3 &position) { void KRCamera::renderFrame(KRScene &scene, KRMat4 &viewMatrix) { + GLint defaultFBO; + GLDEBUG(glGetIntegerv(GL_FRAMEBUFFER_BINDING, &defaultFBO)); + m_pContext->rotateBuffers(true); KRMat4 invViewMatrix = viewMatrix; invViewMatrix.invert(); @@ -185,6 +188,8 @@ void KRCamera::renderFrame(KRScene &scene, KRMat4 &viewMatrix) } renderFrame(scene, viewMatrix, lightDirection, cameraPosition); + + GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, defaultFBO)); renderPost(); m_iFrame++; @@ -341,8 +346,9 @@ void KRCamera::renderFrame(KRScene &scene, KRMat4 &viewMatrix, KRVector3 &lightD // Disable alpha blending GLDEBUG(glDisable(GL_BLEND)); - GLDEBUG(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); GLDEBUG(glClearColor(0.0f, 0.0f, 0.0f, 1.0f)); + GLDEBUG(glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); + // Enable backface culling GLDEBUG(glCullFace(GL_BACK)); @@ -633,9 +639,6 @@ void KRCamera::renderShadowBuffer(KRScene &scene, int iShadow) void KRCamera::renderPost() { - - GLDEBUG(glBindFramebuffer(GL_FRAMEBUFFER, 1)); // renderFramebuffer - // Disable alpha blending GLDEBUG(glDisable(GL_BLEND)); diff --git a/KREngine/KREngine/Classes/KRCamera.h b/KREngine/KREngine/Classes/KRCamera.h index 0a51fe4..c60a987 100644 --- a/KREngine/KREngine/Classes/KRCamera.h +++ b/KREngine/KREngine/Classes/KRCamera.h @@ -129,7 +129,7 @@ private: KRMat4 shadowmvpmatrix[KRENGINE_MAX_SHADOW_BUFFERS]; /* MVP Matrix for view from light source */ void renderPost(); - + void destroyBuffers(); void renderFrame(KRScene &scene, KRMat4 &viewMatrix, KRVector3 &lightDirection, KRVector3 &cameraPosition); diff --git a/KREngine/KREngine/Classes/KRInstance.cpp b/KREngine/KREngine/Classes/KRInstance.cpp index 75b90cd..2204847 100644 --- a/KREngine/KREngine/Classes/KRInstance.cpp +++ b/KREngine/KREngine/Classes/KRInstance.cpp @@ -69,6 +69,9 @@ KRMat4 &KRInstance::getModelMatrix() { void KRInstance::loadModel() { if(m_pModel == NULL) { m_pModel = m_pContext->getModelManager()->getModel(m_model_name.c_str()); + if(m_pModel == NULL) { + fprintf(stderr, "KREngine - Model not found: %s\n", m_model_name.c_str()); + } } }