Forráskód Böngészése

UWP project update to work with latest code, fixed crashes due to errant pointers in SceneMesh color uniforms, added ability to create Image from memory block, added way to save Image to PNG memory block, fixed FP16 texture crash, added ability for Object to save to XML string

Ivan Safrin 9 éve
szülő
commit
919c980fe3

+ 9 - 10
build/windows/universal/PolycodeCore/PolycodeCore.vcxproj

@@ -28,6 +28,8 @@
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\..\..\include\Polycode.h" />
+    <ClInclude Include="..\..\..\..\include\polycode\bindings\javascript\PolycodeJS.h" />
+    <ClInclude Include="..\..\..\..\include\polycode\bindings\javascript\PolycodeJSWrappers.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyBasicFileProvider.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyBezierCurve.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyBone.h" />
@@ -46,8 +48,6 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyEventDispatcher.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyEventHandler.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyFont.h" />
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolyFontGlyphSheet.h" />
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolyFontManager.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyGlobals.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyGPUDrawBuffer.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyImage.h" />
@@ -56,7 +56,6 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyLabel.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyLogger.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyMaterial.h" />
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolyMaterialManager.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyMatrix4.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyMesh.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyObject.h" />
@@ -74,7 +73,6 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyResourceManager.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyScene.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneEntityInstance.h" />
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneImage.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneLabel.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneLight.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneLine.h" />
@@ -84,6 +82,7 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneRenderTexture.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneSound.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneSprite.h" />
+    <ClInclude Include="..\..\..\..\include\polycode\core\PolyScript.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyServer.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyServerWorld.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyShader.h" />
@@ -110,6 +109,7 @@
     <ClInclude Include="resource.h" />
   </ItemGroup>
   <ItemGroup>
+    <ClCompile Include="..\..\..\..\src\bindings\javascript\PolycodeJS.cpp" />
     <ClCompile Include="..\..\..\..\src\core\lodepng.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyBasicFileProvider.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyBezierCurve.cpp" />
@@ -129,15 +129,12 @@
     <ClCompile Include="..\..\..\..\src\core\PolyEventDispatcher.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyEventHandler.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyFont.cpp" />
-    <ClCompile Include="..\..\..\..\src\core\PolyFontGlyphSheet.cpp" />
-    <ClCompile Include="..\..\..\..\src\core\PolyFontManager.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyGPUDrawBuffer.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyImage.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyInputEvent.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyLabel.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyLogger.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyMaterial.cpp" />
-    <ClCompile Include="..\..\..\..\src\core\PolyMaterialManager.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyMatrix4.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyMesh.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyObject.cpp" />
@@ -155,7 +152,6 @@
     <ClCompile Include="..\..\..\..\src\core\PolyResourceManager.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyScene.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySceneEntityInstance.cpp" />
-    <ClCompile Include="..\..\..\..\src\core\PolySceneImage.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySceneLabel.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySceneLight.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySceneLine.cpp" />
@@ -165,6 +161,7 @@
     <ClCompile Include="..\..\..\..\src\core\PolySceneRenderTexture.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySceneSound.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySceneSprite.cpp" />
+    <ClCompile Include="..\..\..\..\src\core\PolyScript.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyServer.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolyShader.cpp" />
     <ClCompile Include="..\..\..\..\src\core\PolySkeleton.cpp" />
@@ -188,6 +185,7 @@
     <ClCompile Include="..\..\..\..\src\core\tinyxml.cpp" />
     <ClCompile Include="..\..\..\..\src\core\tinyxmlerror.cpp" />
     <ClCompile Include="..\..\..\..\src\core\tinyxmlparser.cpp" />
+    <ClCompile Include="..\..\..\..\src\duktape\duktape.cpp" />
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{ee7ae05c-9ae5-47fa-8a08-28e8d8d89b94}</ProjectGuid>
@@ -269,7 +267,7 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <GenerateManifest>false</GenerateManifest>
-    <IncludePath>../../../../include;$(IncludePath)</IncludePath>
+    <IncludePath>..\..\..\..\include;$(IncludePath)</IncludePath>
     <OutDir>..\..\..\..\lib\windows\x86</OutDir>
     <TargetName>Polycore</TargetName>
   </PropertyGroup>
@@ -311,7 +309,7 @@
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <CompileAsWinRT>false</CompileAsWinRT>
       <SDLCheck>true</SDLCheck>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>NO_OGG;NO_LUA;_CRT_SECURE_NO_WARNINGS;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <Optimization>Full</Optimization>
     </ClCompile>
     <Link>
@@ -366,6 +364,7 @@
       <CompileAsWinRT>false</CompileAsWinRT>
       <SDLCheck>true</SDLCheck>
       <PreprocessorDefinitions>NO_OGG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ShowIncludes>false</ShowIncludes>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>

+ 18 - 24
build/windows/universal/PolycodeCore/PolycodeCore.vcxproj.filters

@@ -66,12 +66,6 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyFont.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolyFontGlyphSheet.h">
-      <Filter>Include</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolyFontManager.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyGlobals.h">
       <Filter>Include</Filter>
     </ClInclude>
@@ -96,9 +90,6 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyMaterial.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolyMaterialManager.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyMatrix4.h">
       <Filter>Include</Filter>
     </ClInclude>
@@ -147,9 +138,6 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneEntityInstance.h">
       <Filter>Include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneImage.h">
-      <Filter>Include</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\..\..\include\polycode\core\PolySceneLabel.h">
       <Filter>Include</Filter>
     </ClInclude>
@@ -252,6 +240,15 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyXAudio2AudioInterface.h">
       <Filter>Include</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\..\..\include\polycode\core\PolyScript.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\include\polycode\bindings\javascript\PolycodeJS.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\include\polycode\bindings\javascript\PolycodeJSWrappers.h">
+      <Filter>Include</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\..\src\core\PolyBasicFileProvider.cpp">
@@ -308,12 +305,6 @@
     <ClCompile Include="..\..\..\..\src\core\PolyFont.cpp">
       <Filter>Source</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\..\src\core\PolyFontGlyphSheet.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\..\..\src\core\PolyFontManager.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\..\src\core\PolyGPUDrawBuffer.cpp">
       <Filter>Source</Filter>
     </ClCompile>
@@ -332,9 +323,6 @@
     <ClCompile Include="..\..\..\..\src\core\PolyMaterial.cpp">
       <Filter>Source</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\..\src\core\PolyMaterialManager.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\..\src\core\PolyMatrix4.cpp">
       <Filter>Source</Filter>
     </ClCompile>
@@ -383,9 +371,6 @@
     <ClCompile Include="..\..\..\..\src\core\PolySceneEntityInstance.cpp">
       <Filter>Source</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\..\src\core\PolySceneImage.cpp">
-      <Filter>Source</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\..\..\src\core\PolySceneLabel.cpp">
       <Filter>Source</Filter>
     </ClCompile>
@@ -488,5 +473,14 @@
     <ClCompile Include="..\..\..\..\src\core\PolyXAudio2AudioInterface.cpp">
       <Filter>Source</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\..\..\src\duktape\duktape.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\src\core\PolyScript.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\src\bindings\javascript\PolycodeJS.cpp">
+      <Filter>Source</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>

+ 6 - 2
include/Polycode.h

@@ -94,8 +94,12 @@
  	#endif
 #else
     #if defined(_WINDOWS) && !defined(_MINGW)
-        #include "polycode/core/PolyWinCore.h"
-    #else
+		#if defined(WINAPI_FAMILY)
+			#include "polycode/core/PolyUWPCore.h"
+		#else
+			#include "polycode/core/PolyWinCore.h"
+		#endif
+	#else
 		#if defined(WINAPI_FAMILY)
 			#include "polycode/core/PolyUWPCore.h"
 		#else

+ 4 - 0
include/polycode/core/PolyImage.h

@@ -93,6 +93,10 @@ namespace Polycode {
 			* @return True if successfully loaded, false otherwise.
 			*/			
 			bool loadImage(const String& fileName);
+
+			bool loadFromMemory(const unsigned char *buffer, unsigned int length);
+
+			bool encodeToPNGData(unsigned char **data, unsigned int *size);
 		
 			static POLYIGNORE TokenArray readTokens(char *line, const char *tokens);
 			static POLYIGNORE void freeTokens(TokenArray tokens);

+ 2 - 0
include/polycode/core/PolyObject.h

@@ -331,6 +331,8 @@ namespace Polycode {
 		*/				
 		void saveToXML(const String& fileName);
 
+		String saveToXMLString();
+
 		/**
 		* Saves the object to an optimized binary file
 		* @param fileName Path to the file to save to.

+ 2 - 0
include/polycode/core/PolySceneMesh.h

@@ -191,6 +191,8 @@ namespace Polycode {
 			std::shared_ptr<Material> material;
 			std::shared_ptr<Skeleton> skeleton;
 		
+			std::vector<std::shared_ptr<LocalShaderParam> > colorParams;
+
 			std::vector<ShaderPass> shaderPasses;
 		
 			String fileName;

+ 1 - 7
include/polycode/core/PolyUWPCore.h

@@ -33,13 +33,7 @@ THE SOFTWARE.
 #include <wrl\client.h>
 #include <wrl.h>
 
-#include <angle/GLES2/gl2.h>
-#include <angle/GLES2/gl2ext.h>
-#include <angle/EGL/egl.h>
-#include <angle/EGL/eglext.h>
-#include <angle/EGL/eglplatform.h>
-#include <angle/angle_windowsstore.h>
-
+#include "polycode/core/PolyOpenGLGraphicsInterface.h"
 #include "polycode/core/PolyXAudio2AudioInterface.h"
 
 using namespace concurrency;

+ 23 - 0
src/core/PolyImage.cpp

@@ -562,6 +562,29 @@ void Image::freeTokens(TokenArray tokens) {
 	free(tokens.tokens);
 }
 
+bool Image::encodeToPNGData(unsigned char **data, unsigned int *size) {
+	unsigned int error = lodepng_encode32(data, size, (const unsigned char*)imageData, width, height);
+	if(error) {
+		return false;
+	}
+	return true;
+}
+
+bool Image::loadFromMemory(const unsigned char *buffer, unsigned int length) {
+	int x, y, n;
+	stbi_uc *data = stbi_load_from_memory((const stbi_uc*)buffer, length, &x, &y, &n, 4);
+
+	if (!data) {
+		return false;
+	}
+
+	imageType = Image::IMAGE_RGBA;
+	width = x;
+	height = y;
+	imageData = (char*)data;
+	return true;
+}
+
 bool Image::loadSTB(const String &fileName) {
 	
 	CoreFile *infile = Services()->getCore()->openFile(fileName.c_str(), "rb");

+ 13 - 0
src/core/PolyObject.cpp

@@ -95,6 +95,19 @@ Object::~Object() {
 	
 }
 
+String Object::saveToXMLString() {
+	TiXmlPrinter printer;
+	TiXmlDocument doc;
+	TiXmlDeclaration* decl = new TiXmlDeclaration("1.0", "", "");
+	doc.LinkEndChild(decl);
+
+	TiXmlElement * rootElement = createElementFromObjectEntry(&root);
+	doc.LinkEndChild(rootElement);
+	printer.SetIndent("    ");
+	doc.Accept(&printer);
+	return String(printer.CStr());
+}
+
 void Object::saveToXML(const String& fileName) {
 	TiXmlDocument doc;		
 	TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "", "" );	 

+ 7 - 7
src/core/PolyRenderer.cpp

@@ -273,14 +273,14 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
 
 				shaderPass = buffer->drawCalls[i].shaderPasses[s];
 				
-				ShaderBinding *localShaderBinding = &*buffer->drawCalls[i].shaderPasses[s].shaderBinding;
-				ShaderBinding *materialShaderBinding = &*shaderPass.materialShaderBinding;
+				std::shared_ptr<ShaderBinding> localShaderBinding = buffer->drawCalls[i].shaderPasses[s].shaderBinding;
+				std::shared_ptr<ShaderBinding> materialShaderBinding = shaderPass.materialShaderBinding;
 				
 				
 				if(buffer->globalMaterial && !buffer->drawCalls[i].options.forceMaterial) {
 					if(s < buffer->globalMaterial->getNumShaderPasses()) {
 						shaderPass = buffer->globalMaterial->getShaderPass(s);
-						localShaderBinding = &*shaderPass.shaderBinding;
+						localShaderBinding = shaderPass.shaderBinding;
 					}
 				}
 				
@@ -322,13 +322,13 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
 				}
 				if(materialShaderBinding) {
 					for(int p=0; p < materialShaderBinding->getNumLocalParams(); p++) {						   
-						LocalShaderParam *localParam = &*materialShaderBinding->getLocalParam(p);
+						std::shared_ptr<LocalShaderParam> localParam = materialShaderBinding->getLocalParam(p);
 						if(localParam) {
 							if(!localParam->param) {
 								localParam->param = shaderPass.shader->getParamPointer(localParam->name);
 							}
 							if(localParam->param) {
-								graphicsInterface->setParamInShader(&*shaderPass.shader, localParam->param, localParam);
+								graphicsInterface->setParamInShader(&*shaderPass.shader, localParam->param, &*localParam);
 								Color c = localParam->getColor();
 								
 							}
@@ -341,13 +341,13 @@ void RenderThread::processDrawBuffer(GPUDrawBuffer *buffer) {
 				
 				localShaderBinding->accessMutex->lock();
 				for(int p=0; p < localShaderBinding->getNumLocalParams(); p++) {
-					LocalShaderParam *localParam = &*localShaderBinding->getLocalParam(p);
+					std::shared_ptr<LocalShaderParam> localParam = localShaderBinding->getLocalParam(p);
 					if(localParam) {
 						if(!localParam->param) {
 							localParam->param = shaderPass.shader->getParamPointer(localParam->name);
 						}
 						if(localParam->param) {
-							graphicsInterface->setParamInShader(&*shaderPass.shader, localParam->param, localParam);
+							graphicsInterface->setParamInShader(&*shaderPass.shader, localParam->param, &*localParam);
 						}
 					}
 				}

+ 7 - 1
src/core/PolySceneMesh.cpp

@@ -145,6 +145,7 @@ std::shared_ptr<Mesh> SceneMesh::getMesh() {
 
 void SceneMesh::clearMaterial() {
 	shaderPasses.clear();
+	colorParams.clear();
 	this->material = nullptr;
 }
 
@@ -166,7 +167,8 @@ void SceneMesh::setMaterial(std::shared_ptr<Material> material) {
 		shaderPass.materialShaderBinding = shaderPass.shaderBinding;
 		shaderPass.shaderBinding = std::make_shared<ShaderBinding>();
 		shaderPass.shaderBinding->targetShader = shaderPass.shader;
-		shaderPass.shaderBinding->addParamPointer(ProgramParam::PARAM_COLOR, "entityColor", &color);
+		std::shared_ptr<LocalShaderParam> colorParam = shaderPass.shaderBinding->addParam(ProgramParam::PARAM_COLOR, "entityColor");
+		colorParams.push_back(colorParam);
 		if(skeleton) {
 		 //	  shaderPass.attributeArrays.push_back(&skeletalVertexPositions);
 		 //	  shaderPass.attributeArrays.push_back(&skeletalVertexNormals);
@@ -316,6 +318,10 @@ void SceneMesh::Render(GPUDrawBuffer *buffer) {
 		return;
 	}
 	
+	for (auto param : colorParams) {
+		param->setColor(color);
+	}
+
 	for(int i=0; i < mesh->getNumSubmeshes(); i++) {
 		drawCall.options.alphaTest = alphaTest;
 		drawCall.options.linePointSize = lineWidth;

+ 4 - 4
src/core/PolyTexture.cpp

@@ -49,7 +49,7 @@ Texture::Texture(unsigned int width, unsigned int height, char *textureData,bool
 			pixelSize = 4;						
 		break;
 		case Image::IMAGE_FP16:		
-			pixelSize = 12;
+			pixelSize = 6;
 		break;
 		default:
 			pixelSize = 4;								
@@ -100,7 +100,7 @@ void Texture::setImageData(Image *data) {
 			pixelSize = 4;						
 		break;
 		case Image::IMAGE_FP16:		
-			pixelSize = 12;
+			pixelSize = 6;
 		break;
 		default:
 			pixelSize = 4;								
@@ -130,7 +130,7 @@ Texture::Texture(Image *image, bool clamp, bool createMipmaps) : Resource(Resour
 			pixelSize = 4;
 			break;
 		case Image::IMAGE_FP16:
-			pixelSize = 12;
+			pixelSize = 6;
 			break;
 		default:
 			pixelSize = 4;
@@ -148,7 +148,7 @@ Texture::Texture(Image *image, bool clamp, bool createMipmaps) : Resource(Resour
 
 	type = targetImage->getType();
 	this->textureData = (char*)malloc(targetImage->getWidth()*targetImage->getHeight()*pixelSize);
-	memcpy(this->textureData, targetImage->getPixels(), targetImage->getWidth()*targetImage->getHeight()*pixelSize);
+	memcpy(this->textureD ata, targetImage->getPixels(), targetImage->getWidth()*targetImage->getHeight()*pixelSize);
 
 	if (premultiplyAlphaOnLoad) {
 		delete targetImage;

+ 1 - 1
src/core/PolyUWPCore.cpp

@@ -24,7 +24,6 @@ THE SOFTWARE.
 #include "polycode/core/PolyUWPCore.h"
 #include "polycode/core/PolyBasicFileProvider.h"
 #include <ppltasks.h>
-#include "polycode/core/PolyOpenGLGraphicsInterface.h"
 
 using namespace concurrency;
 using namespace Polycode;
@@ -84,6 +83,7 @@ void UWPCore::Render() {
 	renderer->beginFrame();
 	services->Render(Polycode::Rectangle(0, 0, xRes, yRes));
 	renderer->endFrame();
+	//eglSwapBuffers(mEglDisplay, mEglSurface);
 }