|
@@ -25,21 +25,18 @@ namespace nkast.Aether.Shaders
|
|
|
public class DeferredClearGBufferEffect : Effect
|
|
|
{
|
|
|
#region Effect Parameters
|
|
|
-
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
#region Fields
|
|
|
|
|
|
|
|
|
-#if ((MG && WINDOWS) || W10)
|
|
|
- static readonly String resourceName = "nkast.Aether.Shaders.Resources.DeferredClearGBuffer.dx11.fxo";
|
|
|
-#else
|
|
|
- static readonly String resourceName = "nkast.Aether.Shaders.Resources.DeferredClearGBuffer.xna.WinReach";
|
|
|
-#endif
|
|
|
+ static readonly String ResourceName = "nkast.Aether.Shaders.Resources.DeferredClearGBuffer";
|
|
|
|
|
|
internal static byte[] LoadEffectResource(string name)
|
|
|
{
|
|
|
- using (var stream = LoadEffectResourceStream(name))
|
|
|
+ name = GetResourceName(name);
|
|
|
+ using (var stream = GetAssembly(typeof(DeferredClearGBufferEffect)).GetManifestResourceStream(name))
|
|
|
{
|
|
|
var bytecode = new byte[stream.Length];
|
|
|
stream.Read(bytecode, 0, (int)stream.Length);
|
|
@@ -47,11 +44,17 @@ namespace nkast.Aether.Shaders
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- internal static Stream LoadEffectResourceStream(string name)
|
|
|
+ private static string GetResourceName(string name)
|
|
|
{
|
|
|
- // Detect MG version
|
|
|
+ String platformName = "";
|
|
|
var version = "";
|
|
|
-#if !XNA
|
|
|
+
|
|
|
+#if XNA
|
|
|
+ platformName = ".xna.WinReach";
|
|
|
+#else
|
|
|
+ platformName = ".dx11.fxo";
|
|
|
+
|
|
|
+ // Detect version
|
|
|
version = ".10";
|
|
|
var mgVersion = GetAssembly(typeof(Effect)).GetName().Version;
|
|
|
if (mgVersion.Major == 3)
|
|
@@ -67,11 +70,9 @@ namespace nkast.Aether.Shaders
|
|
|
version = ".10";
|
|
|
}
|
|
|
}
|
|
|
- name = name + version;
|
|
|
#endif
|
|
|
|
|
|
- Stream stream = GetAssembly(typeof(DeferredClearGBufferEffect)).GetManifestResourceStream(name);
|
|
|
- return stream;
|
|
|
+ return name + platformName + version;
|
|
|
}
|
|
|
|
|
|
private static Assembly GetAssembly(Type type)
|
|
@@ -92,13 +93,7 @@ namespace nkast.Aether.Shaders
|
|
|
#region Methods
|
|
|
|
|
|
public DeferredClearGBufferEffect(GraphicsDevice graphicsDevice)
|
|
|
- : base(graphicsDevice,
|
|
|
-#if NETFX_CORE
|
|
|
- LoadEffectResourceStream(resourceName), true
|
|
|
-#else
|
|
|
- LoadEffectResource(resourceName)
|
|
|
-#endif
|
|
|
- )
|
|
|
+ : base(graphicsDevice, LoadEffectResource(ResourceName))
|
|
|
{
|
|
|
CacheEffectParameters(null);
|
|
|
}
|