Explorar o código

Added float precision to default shaders to be ES2 compatible, UWP core setting default backing resolution scale

Ivan Safrin %!s(int64=10) %!d(string=hai) anos
pai
achega
083a76fcdf

BIN=BIN
assets/default/default.pak


+ 2 - 0
assets/default/default/Unlit.frag

@@ -1,3 +1,5 @@
+precision mediump float;
+
 uniform sampler2D diffuse;
 uniform vec4 entityColor;
 varying vec2 texCoordVar;

+ 2 - 0
assets/default/default/Unlit.vert

@@ -1,3 +1,5 @@
+precision mediump float;
+
 attribute vec4 position;
 attribute vec2 texCoord;
 

+ 2 - 0
assets/default/default/UnlitUntextured.frag

@@ -1,3 +1,5 @@
+precision mediump float;
+
 uniform vec4 entityColor;
 
 void main() {

+ 2 - 0
assets/default/default/UnlitUntextured.vert

@@ -1,3 +1,5 @@
+precision mediump float;
+
 attribute vec4 position;
 
 uniform mat4 modelMatrix;

+ 3 - 1
build/windows/universal/PolycodeCore/PolycodeCore.vcxproj.filters

@@ -9,7 +9,6 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="resource.h" />
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyBasicFileProvider.h">
       <Filter>Include</Filter>
     </ClInclude>
@@ -250,6 +249,9 @@
     <ClInclude Include="..\..\..\..\include\polycode\core\PolyOpenGLGraphicsInterface.h">
       <Filter>Include</Filter>
     </ClInclude>
+    <ClInclude Include="resource.h">
+      <Filter>Source</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\..\..\..\src\core\PolyBasicFileProvider.cpp">

+ 9 - 0
build/windows/universal/TemplateApp/PolycodeTemplateApp.cpp

@@ -12,6 +12,8 @@ PolycodeTemplateApp::PolycodeTemplateApp(PolycodeView *view) {
     ResourcePool *globalPool = Services()->getResourceManager()->getGlobalPool();
     globalPool->loadResourcesFromFolder("default", true);
     
+	SceneLabel::createMipmapsForLabels = false;
+
 	MaterialManager *materialManager = Services()->getMaterialManager();
 
 	// Write your code here!
@@ -23,6 +25,13 @@ PolycodeTemplateApp::PolycodeTemplateApp(PolycodeView *view) {
     test->setMaterialByName("Unlit");
     test->getLocalShaderOptions()->loadTextureForParam("diffuse", "main_icon.png");
     scene->addChild(test);
+
+	SceneLabel *testLabel = new SceneLabel("O", 32, "sans", Label::ANTIALIAS_FULL, 0.2);
+	scene->addChild(testLabel);
+	
+
+	test->getLocalShaderOptions()->setTextureForParam("diffuse", testLabel->getLocalShaderOptions()->getLocalParamByName("diffuse")->getTexture());
+//	testLabel->getLocalShaderOptions()->setTextureForParam("diffuse", test->getLocalShaderOptions()->getLocalParamByName("diffuse")->getTexture());
     
 }
 

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

@@ -96,6 +96,8 @@ namespace Polycode {
 
 	private:
 
+		double pcFreq;
+
 		OpenGLGraphicsInterface *graphicsInterface;
 		IUnknown *m_Window;
 

BIN=BIN
lib/windows/x64/Polycore.lib


BIN=BIN
lib/windows/x64/Polycored.lib


+ 11 - 0
src/core/PolyUWPCore.cpp

@@ -44,9 +44,17 @@ UWPCore::UWPCore(PolycodeView *view, int xRes, int yRes, bool fullScreen, bool v
 	mEglContext = view->mEglContext;
 	mEglSurface = view->mEglSurface;
 
+	LARGE_INTEGER li;
+	QueryPerformanceFrequency(&li);
+	pcFreq = double(li.QuadPart) / 1000.0;
+
+
 	fileProviders.push_back(new BasicFileProvider());
 
 	renderer = new Renderer();
+
+	renderer->setBackingResolutionScale(1.0, 1.0);
+
 	graphicsInterface = new OpenGLGraphicsInterface();
 	renderer->setGraphicsInterface(this, graphicsInterface);
 	services->setRenderer(renderer);
@@ -153,6 +161,9 @@ void UWPCore::openURL(String url) {
 }
 
 unsigned int UWPCore::getTicks() {
+	LARGE_INTEGER li;
+	QueryPerformanceCounter(&li);
+	return (unsigned int)(li.QuadPart / pcFreq);
 	return 0;
 }