ios stuff
This commit is contained in:
parent
6c7fd92820
commit
8ec1ba5e74
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,11 @@ Use global variable ResourceManager to get access to light manager
|
|||||||
|
|
||||||
namespace SE
|
namespace SE
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
extern const int CONST_SCREEN_FRAMEBUFFER;
|
||||||
|
|
||||||
|
|
||||||
struct TFrame
|
struct TFrame
|
||||||
{
|
{
|
||||||
cardinal FrameBuffer;
|
cardinal FrameBuffer;
|
||||||
|
@ -11,8 +11,8 @@ class TSalmonRendererIos : public TSalmonRendererGLES20
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
virtual void SwitchToScreen();
|
||||||
};
|
};
|
||||||
|
|
||||||
} //namespace SE
|
} //namespace SE
|
||||||
|
@ -60,4 +60,7 @@ public:
|
|||||||
|
|
||||||
} //namespace SE
|
} //namespace SE
|
||||||
|
|
||||||
|
|
||||||
|
#include "include/GUIManager/WidgetTemplatesImpl.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -20,5 +20,6 @@ std::string IosGetFileReadPath(const std::string& filename);
|
|||||||
|
|
||||||
std::string IosGetFilePathUserData(const std::string& filename);
|
std::string IosGetFilePathUserData(const std::string& filename);
|
||||||
|
|
||||||
|
void IosSwitchToScreen();
|
||||||
|
|
||||||
} //namespace SE
|
} //namespace SE
|
||||||
|
@ -5,6 +5,10 @@
|
|||||||
|
|
||||||
namespace SE
|
namespace SE
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
const int CONST_SCREEN_FRAMEBUFFER = 0;
|
||||||
|
|
||||||
|
|
||||||
//===================================================
|
//===================================================
|
||||||
//================ FRAME MANAGER ====================
|
//================ FRAME MANAGER ====================
|
||||||
@ -23,7 +27,7 @@ void TFrameManager::FreeFrameManager()
|
|||||||
{
|
{
|
||||||
ResourceManager->TexList.DeleteTexture(i.second.TexName);
|
ResourceManager->TexList.DeleteTexture(i.second.TexName);
|
||||||
glDeleteRenderbuffers(1, &(i.second.DepthRenderBuffer));
|
glDeleteRenderbuffers(1, &(i.second.DepthRenderBuffer));
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
glDeleteFramebuffers(1, &(i.second.FrameBuffer));
|
glDeleteFramebuffers(1, &(i.second.FrameBuffer));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +92,7 @@ cardinal TFrameManager::AddFrameRenderBuffer(const std::string& frameName,cardin
|
|||||||
FrameMap[frameName].Height = height;
|
FrameMap[frameName].Height = height;
|
||||||
FrameMap[frameName].TexName = texName;
|
FrameMap[frameName].TexName = texName;
|
||||||
|
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
|
|
||||||
return FrameMap[frameName].FrameBuffer;
|
return FrameMap[frameName].FrameBuffer;
|
||||||
|
|
||||||
@ -97,7 +101,7 @@ cardinal TFrameManager::AddFrameRenderBuffer(const std::string& frameName,cardin
|
|||||||
*Console<<"FrameManager::ERROR - frame buffer can not be added correctly: "+frameName+", with error: "+tostr(status);
|
*Console<<"FrameManager::ERROR - frame buffer can not be added correctly: "+frameName+", with error: "+tostr(status);
|
||||||
ResourceManager->TexList.DeleteTexture(texName);
|
ResourceManager->TexList.DeleteTexture(texName);
|
||||||
glDeleteRenderbuffers(1, &depthRenderBuffer);
|
glDeleteRenderbuffers(1, &depthRenderBuffer);
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
glDeleteFramebuffers(1, &frameBuffer);
|
glDeleteFramebuffers(1, &frameBuffer);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -182,7 +186,7 @@ cardinal TFrameManager::AddCubemapBuffer(const std::string& frameName,cardinal w
|
|||||||
FrameMap[frameName].Height = height;
|
FrameMap[frameName].Height = height;
|
||||||
FrameMap[frameName].TexName = texName;
|
FrameMap[frameName].TexName = texName;
|
||||||
|
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
|
|
||||||
return FrameMap[frameName].FrameBuffer;
|
return FrameMap[frameName].FrameBuffer;
|
||||||
|
|
||||||
@ -192,7 +196,7 @@ cardinal TFrameManager::AddCubemapBuffer(const std::string& frameName,cardinal w
|
|||||||
*Console<<"FrameManager::ERROR - frame buffer can not be added correctly: "+frameName;
|
*Console<<"FrameManager::ERROR - frame buffer can not be added correctly: "+frameName;
|
||||||
ResourceManager->TexList.DeleteTexture(texName);
|
ResourceManager->TexList.DeleteTexture(texName);
|
||||||
glDeleteRenderbuffers(1, &depthRenderBuffer);
|
glDeleteRenderbuffers(1, &depthRenderBuffer);
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
glDeleteFramebuffers(1, &frameBuffer);
|
glDeleteFramebuffers(1, &frameBuffer);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -218,7 +222,7 @@ void TFrameManager::DeleteFrameRenderBuffer(const std::string& frameName)
|
|||||||
{
|
{
|
||||||
ResourceManager->TexList.DeleteTexture(FrameMap[frameName].TexName);
|
ResourceManager->TexList.DeleteTexture(FrameMap[frameName].TexName);
|
||||||
glDeleteRenderbuffers(1, &(FrameMap[frameName].DepthRenderBuffer));
|
glDeleteRenderbuffers(1, &(FrameMap[frameName].DepthRenderBuffer));
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
glDeleteFramebuffers(1, &(FrameMap[frameName].FrameBuffer));
|
glDeleteFramebuffers(1, &(FrameMap[frameName].FrameBuffer));
|
||||||
|
|
||||||
FrameMap.erase(frameName);
|
FrameMap.erase(frameName);
|
||||||
@ -265,14 +269,14 @@ cardinal TFrameManager::AddDepthBuffer(const std::string& frameName, cardinal wi
|
|||||||
FrameMap[frameName].Height = height;
|
FrameMap[frameName].Height = height;
|
||||||
FrameMap[frameName].TexName = texName;
|
FrameMap[frameName].TexName = texName;
|
||||||
|
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
|
|
||||||
return FrameMap[frameName].FrameBuffer;
|
return FrameMap[frameName].FrameBuffer;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
*Console<<"FrameManager::ERROR - frame buffer can not be added correctly: "+frameName;
|
*Console<<"FrameManager::ERROR - frame buffer can not be added correctly: "+frameName;
|
||||||
ResourceManager->TexList.DeleteTexture(texName);
|
ResourceManager->TexList.DeleteTexture(texName);
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
glDeleteFramebuffers(1, &frameBuffer);
|
glDeleteFramebuffers(1, &frameBuffer);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -81,11 +81,11 @@ void TSalmonRendererInterface::InitOpenGL(int screenWidth, int screenHeight, flo
|
|||||||
MatrixHeight = matrixHeight;
|
MatrixHeight = matrixHeight;
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
glEnable(GL_BLEND);
|
||||||
#ifdef TARGET_WIN32
|
#ifdef TARGET_WIN32
|
||||||
glEnable(GL_LIGHTING);
|
glEnable(GL_LIGHTING);
|
||||||
glEnable(GL_NORMALIZE);
|
glEnable(GL_NORMALIZE);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glMaterialfv(GL_FRONT, GL_DIFFUSE, WhiteColor);
|
glMaterialfv(GL_FRONT, GL_DIFFUSE, WhiteColor);
|
||||||
|
|
||||||
glPolygonMode(GL_FRONT_AND_BACK , GL_FILL);
|
glPolygonMode(GL_FRONT_AND_BACK , GL_FILL);
|
||||||
@ -302,7 +302,8 @@ vec3 TSalmonRendererInterface::GetCamPos()
|
|||||||
|
|
||||||
void TSalmonRendererInterface::SwitchToScreen()
|
void TSalmonRendererInterface::SwitchToScreen()
|
||||||
{
|
{
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, CONST_SCREEN_FRAMEBUFFER);
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,5 +5,12 @@
|
|||||||
|
|
||||||
namespace SE
|
namespace SE
|
||||||
{
|
{
|
||||||
|
|
||||||
|
void TSalmonRendererIos::SwitchToScreen()
|
||||||
|
{
|
||||||
|
IosSwitchToScreen();
|
||||||
|
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
}
|
||||||
|
|
||||||
} //namespace SE
|
} //namespace SE
|
@ -20,9 +20,10 @@ void TApplication::OuterInit(int screenWidth, int screenHeight, float matrixWidt
|
|||||||
|
|
||||||
ResourceManager->ScriptManager.BindBasicFunctions();
|
ResourceManager->ScriptManager.BindBasicFunctions();
|
||||||
|
|
||||||
|
Renderer->InitOpenGL(screenWidth, screenHeight, matrixWidth, matrixHeight);
|
||||||
|
|
||||||
InnerInit();
|
InnerInit();
|
||||||
|
|
||||||
Renderer->InitOpenGL(screenWidth, screenHeight, matrixWidth, matrixHeight);
|
|
||||||
CheckGlError();
|
CheckGlError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,10 +7,12 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <GLKit/GLKit.h>
|
||||||
#include "include/Utils/Utils.h"
|
#include "include/Utils/Utils.h"
|
||||||
|
|
||||||
|
|
||||||
|
GLKView* defaultView = 0; //Need to be set up by App!
|
||||||
|
|
||||||
namespace SE
|
namespace SE
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -46,6 +48,11 @@ std::string IosGetFilePathUserData(const std::string& filename)
|
|||||||
|
|
||||||
return std::string([[NSFileManager defaultManager] fileSystemRepresentationWithPath:file]);
|
return std::string([[NSFileManager defaultManager] fileSystemRepresentationWithPath:file]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IosSwitchToScreen()
|
||||||
|
{
|
||||||
|
[defaultView bindDrawable];
|
||||||
|
}
|
||||||
|
|
||||||
} //namespace SE
|
} //namespace SE
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user