浏览代码

update fallback to MGFX 10 and seperate GL shaders

Nikos Kastellanos 1 月之前
父节点
当前提交
4fdcb8df87
共有 27 个文件被更改,包括 163 次插入71 次删除
  1. 5 0
      Shaders/Deferred/Aether.Shaders.Deferred.csproj
  2. 15 9
      Shaders/Deferred/DeferredBasicEffect.cs
  3. 15 8
      Shaders/Deferred/DeferredClearGBufferEffect.cs
  4. 15 9
      Shaders/Deferred/DeferredCombineEffect.cs
  5. 15 9
      Shaders/Deferred/DeferredPointLightEffect.cs
  6. 15 9
      Shaders/Deferred/DeferredSpotLightEffect.cs
  7. 二进制
      Shaders/Deferred/Resources/DeferredBasicEffect.gles.fxo.10
  8. 二进制
      Shaders/Deferred/Resources/DeferredClearGBuffer.gles.fxo.10
  9. 二进制
      Shaders/Deferred/Resources/DeferredCombine.gles.fxo.10
  10. 二进制
      Shaders/Deferred/Resources/DeferredPointLight.gles.fxo.10
  11. 二进制
      Shaders/Deferred/Resources/DeferredSpotLight.gles.fxo.10
  12. 8 0
      Shaders/Deferred/Shaders/BuildShaders.bat
  13. 3 0
      Shaders/FXAA/Aether.Shaders.FXAA.csproj
  14. 15 9
      Shaders/FXAA/FXAAEffect.cs
  15. 二进制
      Shaders/FXAA/Resources/FXAAGreenLumaHigh.gles.fxo.10
  16. 二进制
      Shaders/FXAA/Resources/FXAAGreenLumaLow.gles.fxo.10
  17. 二进制
      Shaders/FXAA/Resources/FXAAGreenLumaMedium.gles.fxo.10
  18. 8 0
      Shaders/FXAA/Shaders/BuildShaders.bat
  19. 2 0
      Shaders/InfiniteGrid/Aether.Shaders.InfiniteGrid.csproj
  20. 15 9
      Shaders/InfiniteGrid/InfiniteGridEffect.cs
  21. 二进制
      Shaders/InfiniteGrid/Resources/InfiniteGridEffect.HiDef.gles.fxo.10
  22. 二进制
      Shaders/InfiniteGrid/Resources/InfiniteGridEffect.Reach.gles.fxo.10
  23. 8 0
      Shaders/InfiniteGrid/Shaders/BuildShaders.bat
  24. 1 0
      Shaders/Tilemap/Aether.Shaders.Tilemap.csproj
  25. 二进制
      Shaders/Tilemap/Resources/TilemapEffect.gles.fxo.10
  26. 8 0
      Shaders/Tilemap/Shaders/BuildShaders.bat
  27. 15 9
      Shaders/Tilemap/TilemapEffect.cs

+ 5 - 0
Shaders/Deferred/Aether.Shaders.Deferred.csproj

@@ -41,6 +41,11 @@
     <EmbeddedResource Include="Resources\DeferredCombine.dx11.fxo.10" />
     <EmbeddedResource Include="Resources\DeferredPointLight.dx11.fxo.10" />
     <EmbeddedResource Include="Resources\DeferredSpotLight.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredBasicEffect.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredClearGBuffer.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredCombine.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredPointLight.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\DeferredSpotLight.gles.fxo.10" />
     <EmbeddedResource Include="Resources\DeferredBasicEffect.ogl.fxo.10" />
     <EmbeddedResource Include="Resources\DeferredClearGBuffer.ogl.fxo.10" />
     <EmbeddedResource Include="Resources\DeferredCombine.ogl.fxo.10" />

+ 15 - 9
Shaders/Deferred/DeferredBasicEffect.cs

@@ -63,27 +63,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

+ 15 - 8
Shaders/Deferred/DeferredClearGBufferEffect.cs

@@ -58,12 +58,14 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version
@@ -71,14 +73,19 @@ namespace nkast.Aether.Shaders
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
             if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

+ 15 - 9
Shaders/Deferred/DeferredCombineEffect.cs

@@ -62,27 +62,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

+ 15 - 9
Shaders/Deferred/DeferredPointLightEffect.cs

@@ -75,27 +75,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version  
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

+ 15 - 9
Shaders/Deferred/DeferredSpotLightEffect.cs

@@ -80,27 +80,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version  
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

二进制
Shaders/Deferred/Resources/DeferredBasicEffect.gles.fxo.10


二进制
Shaders/Deferred/Resources/DeferredClearGBuffer.gles.fxo.10


二进制
Shaders/Deferred/Resources/DeferredCombine.gles.fxo.10


二进制
Shaders/Deferred/Resources/DeferredPointLight.gles.fxo.10


二进制
Shaders/Deferred/Resources/DeferredSpotLight.gles.fxo.10


+ 8 - 0
Shaders/Deferred/Shaders/BuildShaders.bat

@@ -20,6 +20,14 @@ SET XNAFX="..\..\Tools\CompileEffect\CompileEffect.exe"
     call %MGFX% %%~nf.fx ..\Resources\%%~nf.ogl.fxo /Platform:DesktopGL
 )
 
+@echo .
+@echo Build gles
+@for /f %%f IN ('dir /b *.fx') do (
+    @echo .
+    @echo Compile %%~nf
+    call %MGFX% %%~nf.fx ..\Resources\%%~nf.gles.fxo /Platform:Android
+)
+
 @echo Build dx9/xna Reach
 @for /f %%f IN ('dir /b *.fx') do (
     @echo .

+ 3 - 0
Shaders/FXAA/Aether.Shaders.FXAA.csproj

@@ -37,6 +37,9 @@
     <EmbeddedResource Include="Resources\FXAAGreenLumaHigh.dx11.fxo.10" />
     <EmbeddedResource Include="Resources\FXAAGreenLumaLow.dx11.fxo.10" />
     <EmbeddedResource Include="Resources\FXAAGreenLumaMedium.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaHigh.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaLow.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\FXAAGreenLumaMedium.gles.fxo.10" />
     <EmbeddedResource Include="Resources\FXAAGreenLumaHigh.ogl.fxo.10" />
     <EmbeddedResource Include="Resources\FXAAGreenLumaLow.ogl.fxo.10" />
     <EmbeddedResource Include="Resources\FXAAGreenLumaMedium.ogl.fxo.10" />

+ 15 - 9
Shaders/FXAA/FXAAEffect.cs

@@ -73,27 +73,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

二进制
Shaders/FXAA/Resources/FXAAGreenLumaHigh.gles.fxo.10


二进制
Shaders/FXAA/Resources/FXAAGreenLumaLow.gles.fxo.10


二进制
Shaders/FXAA/Resources/FXAAGreenLumaMedium.gles.fxo.10


+ 8 - 0
Shaders/FXAA/Shaders/BuildShaders.bat

@@ -22,6 +22,14 @@ SET XNAFX="..\..\Tools\CompileEffect\CompileEffect.exe"
     call %MGFX% %%~nf.fx ..\Resources\%%~nf.ogl.fxo /Platform:DesktopGL
 )
 
+@echo .
+@echo Build gles
+@for /f %%f IN ('dir /b *.fx') do (
+    @echo .
+    @echo Compile %%~nf
+    call %MGFX% %%~nf.fx ..\Resources\%%~nf.gles.fxo /Platform:Android
+)
+
 @echo .
 @echo Build dx9/xna HiDef
 @for /f %%f IN ('dir /b *.fx') do (

+ 2 - 0
Shaders/InfiniteGrid/Aether.Shaders.InfiniteGrid.csproj

@@ -35,6 +35,8 @@
   <ItemGroup>
     <EmbeddedResource Include="Resources\InfiniteGridEffect.HiDef.dx11.fxo.10" />
     <EmbeddedResource Include="Resources\InfiniteGridEffect.Reach.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.HiDef.gles.fxo.10" />
+    <EmbeddedResource Include="Resources\InfiniteGridEffect.Reach.gles.fxo.10" />
     <EmbeddedResource Include="Resources\InfiniteGridEffect.HiDef.ogl.fxo.10" />
     <EmbeddedResource Include="Resources\InfiniteGridEffect.Reach.ogl.fxo.10" />
   </ItemGroup>

+ 15 - 9
Shaders/InfiniteGrid/InfiniteGridEffect.cs

@@ -56,27 +56,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif
 

二进制
Shaders/InfiniteGrid/Resources/InfiniteGridEffect.HiDef.gles.fxo.10


二进制
Shaders/InfiniteGrid/Resources/InfiniteGridEffect.Reach.gles.fxo.10


+ 8 - 0
Shaders/InfiniteGrid/Shaders/BuildShaders.bat

@@ -22,6 +22,14 @@ SET XNAFX="..\..\Tools\CompileEffect\CompileEffect.exe"
     call %MGFX% %%~nf.fx ..\Resources\%%~nf.ogl.fxo /Platform:DesktopGL
 )
 
+@echo .
+@echo Build gles
+@for /f %%f IN ('dir /b *.fx') do (
+    @echo .
+    @echo Compile %%~nf
+    call %MGFX% %%~nf.fx ..\Resources\%%~nf.gles.fxo /Platform:Android
+)
+
 @echo .
 @echo Build dx9/xna Reach
 @for /f %%f IN ('dir /b *.Reach.fx') do (

+ 1 - 0
Shaders/Tilemap/Aether.Shaders.Tilemap.csproj

@@ -28,6 +28,7 @@
 
   <ItemGroup>
     <EmbeddedResource Include="Resources\TilemapEffect.dx11.fxo.10" />
+    <EmbeddedResource Include="Resources\TilemapEffect.gles.fxo.10" />
     <EmbeddedResource Include="Resources\TilemapEffect.ogl.fxo.10" />
   </ItemGroup>
   <ItemGroup>

二进制
Shaders/Tilemap/Resources/TilemapEffect.gles.fxo.10


+ 8 - 0
Shaders/Tilemap/Shaders/BuildShaders.bat

@@ -22,6 +22,14 @@ SET XNAFX="..\..\Tools\CompileEffect\CompileEffect.exe"
     call %MGFX% %%~nf.fx ..\Resources\%%~nf.ogl.fxo /Platform:DesktopGL
 )
 
+@echo .
+@echo Build gles
+@for /f %%f IN ('dir /b *.fx') do (
+    @echo .
+    @echo Compile %%~nf
+    call %MGFX% %%~nf.fx ..\Resources\%%~nf.gles.fxo /Platform:Android
+)
+
 @echo .
 @echo Build dx9/xna Reach
 @for /f %%f IN ('dir /b *.fx') do (

+ 15 - 9
Shaders/Tilemap/TilemapEffect.cs

@@ -90,27 +90,33 @@ namespace nkast.Aether.Shaders
                     platformName = ".dx11.fxo";
                     break;
                 case GraphicsBackend.OpenGL:
+                    platformName = ".ogl.fxo";
+                    break;
                 case GraphicsBackend.GLES:
                 case GraphicsBackend.WebGL:
-                    platformName = ".ogl.fxo";
+                    platformName = ".gles.fxo";
                     break;
                 default:
-                    throw new NotSupportedException("platform");
+                    throw new NotSupportedException("Backend");
             }
 
             // Detect version
             version = ".10";
             Version kniVersion = typeof(Effect).Assembly.GetName().Version;
-            if (kniVersion.Major == 3)
             {
-                if (kniVersion.Minor == 9)
-                {
+                if (kniVersion.Minor ==  9
+                ||  kniVersion.Minor == 10
+                ||  kniVersion.Minor == 11
+                ||  kniVersion.Minor == 12
+                ||  kniVersion.Minor == 13
+                ||  kniVersion.Minor == 14)
                     version = ".10";
-                }
-                if (kniVersion.Minor == 10)
-                {
+            }
+            if (kniVersion.Major == 4)
+            {
+                if (kniVersion.Minor == 0
+                ||  kniVersion.Minor == 1)
                     version = ".10";
-                }
             }
 #endif