diff --git a/RenderSystems/ANX.RenderSystem.DX.SharedSources/SharedStateObject.cs b/RenderSystems/ANX.RenderSystem.DX.SharedSources/SharedStateObject.cs
index dbee3f1e..add7ad35 100644
--- a/RenderSystems/ANX.RenderSystem.DX.SharedSources/SharedStateObject.cs
+++ b/RenderSystems/ANX.RenderSystem.DX.SharedSources/SharedStateObject.cs
@@ -17,14 +17,16 @@ namespace ANX.RenderSystem.Windows.DX11
protected const int IntMaxOver16 = int.MaxValue / 16;
protected const float ColorByteToFloatFactor = 1f / 255f;
- #region Private
protected bool isDirty;
protected T nativeState;
- #endregion
- #region Public
public bool IsBound { get; protected set; }
- #endregion
+
+ protected GraphicsDevice GraphicsDevice
+ {
+ get;
+ private set;
+ }
#region Constructor
protected BaseStateObject()
@@ -75,13 +77,31 @@ namespace ANX.RenderSystem.Windows.DX11
#region UpdateNativeBlendState
private void UpdateNativeBlendState(GraphicsDevice graphics)
{
+ if (graphics != this.GraphicsDevice)
+ {
+ if (this.GraphicsDevice != null)
+ this.GraphicsDevice.ResourceDestroyed -= GraphicsDevice_ResourceDestroyed;
+
+ if (graphics != null)
+ graphics.ResourceDestroyed += GraphicsDevice_ResourceDestroyed;
+
+ this.GraphicsDevice = graphics;
+ this.Dispose();
+ }
+
if (isDirty || nativeState == null)
{
Dispose();
+ this.GraphicsDevice = graphics;
nativeState = CreateNativeState(graphics);
isDirty = false;
}
}
+
+ void GraphicsDevice_ResourceDestroyed(object sender, ResourceDestroyedEventArgs e)
+ {
+ this.Dispose();
+ }
#endregion
protected virtual void Init() { }
diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX10/BlendState_DX10.cs b/RenderSystems/ANX.RenderSystem.Windows.DX10/BlendState_DX10.cs
index 90e3e2b8..cbe604af 100644
--- a/RenderSystems/ANX.RenderSystem.Windows.DX10/BlendState_DX10.cs
+++ b/RenderSystems/ANX.RenderSystem.Windows.DX10/BlendState_DX10.cs
@@ -21,6 +21,10 @@ namespace ANX.RenderSystem.Windows.DX10
private SharpDX.Color4 blendFactor;
private int multiSampleMask;
+#if DEBUG
+ private static int blendStateCount = 0;
+#endif
+
#region Public
public Color BlendFactor
{
@@ -141,7 +145,11 @@ namespace ANX.RenderSystem.Windows.DX10
protected override Dx10.BlendState CreateNativeState(GraphicsDevice graphics)
{
Dx10.Device device = (graphics.NativeDevice as GraphicsDeviceDX).NativeDevice;
- return new Dx10.BlendState(device, ref description);
+ var blendState = new Dx10.BlendState(device, ref description);
+#if DEBUG
+ blendState.DebugName = "BlendState_" + blendStateCount++;
+#endif
+ return blendState;
}
protected override void ApplyNativeState(GraphicsDevice graphics)
diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX10/DepthStencilState_DX10.cs b/RenderSystems/ANX.RenderSystem.Windows.DX10/DepthStencilState_DX10.cs
index 65f19957..084de277 100644
--- a/RenderSystems/ANX.RenderSystem.Windows.DX10/DepthStencilState_DX10.cs
+++ b/RenderSystems/ANX.RenderSystem.Windows.DX10/DepthStencilState_DX10.cs
@@ -19,6 +19,10 @@ namespace ANX.RenderSystem.Windows.DX10
private Dx10.DepthStencilStateDescription description;
private int referenceStencil;
+#if DEBUG
+ private static int depthStencilStateCount = 0;
+#endif
+
#region Public (TODO)
public StencilOperation CounterClockwiseStencilDepthBufferFail
{
@@ -172,7 +176,11 @@ namespace ANX.RenderSystem.Windows.DX10
protected override Dx10.DepthStencilState CreateNativeState(GraphicsDevice graphics)
{
Dx10.Device device = (graphics.NativeDevice as GraphicsDeviceDX).NativeDevice;
- return new Dx10.DepthStencilState(device, ref description);
+ var state = new Dx10.DepthStencilState(device, ref description);
+#if DEBUG
+ state.DebugName = "DepthStencilState_" + depthStencilStateCount++;
+#endif
+ return state;
}
protected override void ApplyNativeState(GraphicsDevice graphics)
diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX10/RasterizerState_DX10.cs b/RenderSystems/ANX.RenderSystem.Windows.DX10/RasterizerState_DX10.cs
index 015dcb2f..e6b49cd0 100644
--- a/RenderSystems/ANX.RenderSystem.Windows.DX10/RasterizerState_DX10.cs
+++ b/RenderSystems/ANX.RenderSystem.Windows.DX10/RasterizerState_DX10.cs
@@ -18,6 +18,10 @@ namespace ANX.RenderSystem.Windows.DX10
{
private Dx10.RasterizerStateDescription description;
+#if DEBUG
+ private static int rasterizerStateCount = 0;
+#endif
+
#region Public
public CullMode CullMode
{
@@ -90,7 +94,11 @@ namespace ANX.RenderSystem.Windows.DX10
protected override Dx10.RasterizerState CreateNativeState(GraphicsDevice graphics)
{
Dx10.Device device = (graphics.NativeDevice as GraphicsDeviceDX).NativeDevice;
- return new Dx10.RasterizerState(device, ref description);
+ var state = new Dx10.RasterizerState(device, ref description);
+#if DEBUG
+ state.DebugName = "RasterizerState_" + rasterizerStateCount++;
+#endif
+ return state;
}
protected override void ApplyNativeState(GraphicsDevice graphics)
diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX10/SamplerState_DX10.cs b/RenderSystems/ANX.RenderSystem.Windows.DX10/SamplerState_DX10.cs
index da0cacea..ee591d3a 100644
--- a/RenderSystems/ANX.RenderSystem.Windows.DX10/SamplerState_DX10.cs
+++ b/RenderSystems/ANX.RenderSystem.Windows.DX10/SamplerState_DX10.cs
@@ -18,6 +18,10 @@ namespace ANX.RenderSystem.Windows.DX10
{
#region Private
private Dx10.SamplerStateDescription description;
+
+#if DEBUG
+ private static int samplerStateCount = 0;
+#endif
#endregion
#region Public
@@ -105,6 +109,9 @@ namespace ANX.RenderSystem.Windows.DX10
Dispose();
nativeState = new Dx10.SamplerState(device, ref description);
isDirty = false;
+#if DEBUG
+ nativeState.DebugName = "SamplerState_" + samplerStateCount++;
+#endif
}
}
#endregion
diff --git a/Samples/WpfEditor.sln b/Samples/WpfEditor.sln
index ba862264..ac858f5a 100644
--- a/Samples/WpfEditor.sln
+++ b/Samples/WpfEditor.sln
@@ -1,62 +1,211 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}"
-EndProject
+# Visual Studio 2013
+VisualStudioVersion = 12.0.40629.0
+MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfEditor", "WpfEditor\WpfEditor.csproj", "{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}"
+ ProjectSection(ProjectDependencies) = postProject
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C} = {75EFAE60-726E-430F-8661-4CF9ABD1306C}
+ EndProjectSection
+EndProject
+Project("{75EFAE60-726E-430F-8661-4CF9ABD1306C}") = "SampleContent", "SampleContent\SampleContent.cproj", "{75EFAE60-726E-430F-8661-4CF9ABD1306C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU
+ Debug|iOS = Debug|iOS
+ Debug|Linux = Debug|Linux
+ Debug|Mac OS = Debug|Mac OS
Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|PS Vita = Debug|PS Vita
+ Debug|Windows = Debug|Windows
+ Debug|Windows Metro = Debug|Windows Metro
+ Debug|Windows Phone = Debug|Windows Phone
Debug|x86 = Debug|x86
+ Debug|XBox 360 = Debug|XBox 360
+ DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU
+ DebugWin8|iOS = DebugWin8|iOS
+ DebugWin8|Linux = DebugWin8|Linux
+ DebugWin8|Mac OS = DebugWin8|Mac OS
DebugWin8|Mixed Platforms = DebugWin8|Mixed Platforms
+ DebugWin8|PS Vita = DebugWin8|PS Vita
+ DebugWin8|Windows = DebugWin8|Windows
+ DebugWin8|Windows Metro = DebugWin8|Windows Metro
+ DebugWin8|Windows Phone = DebugWin8|Windows Phone
DebugWin8|x86 = DebugWin8|x86
+ DebugWin8|XBox 360 = DebugWin8|XBox 360
+ Release|Android = Release|Android
Release|Any CPU = Release|Any CPU
+ Release|iOS = Release|iOS
+ Release|Linux = Release|Linux
+ Release|Mac OS = Release|Mac OS
Release|Mixed Platforms = Release|Mixed Platforms
+ Release|PS Vita = Release|PS Vita
+ Release|Windows = Release|Windows
+ Release|Windows Metro = Release|Windows Metro
+ Release|Windows Phone = Release|Windows Phone
Release|x86 = Release|x86
+ Release|XBox 360 = Release|XBox 360
+ ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU
+ ReleaseWin8|iOS = ReleaseWin8|iOS
+ ReleaseWin8|Linux = ReleaseWin8|Linux
+ ReleaseWin8|Mac OS = ReleaseWin8|Mac OS
ReleaseWin8|Mixed Platforms = ReleaseWin8|Mixed Platforms
+ ReleaseWin8|PS Vita = ReleaseWin8|PS Vita
+ ReleaseWin8|Windows = ReleaseWin8|Windows
+ ReleaseWin8|Windows Metro = ReleaseWin8|Windows Metro
+ ReleaseWin8|Windows Phone = ReleaseWin8|Windows Phone
ReleaseWin8|x86 = ReleaseWin8|x86
+ ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Android.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|iOS.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Linux.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Mac OS.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|PS Vita.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Windows.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Windows Metro.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|Windows Phone.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|x86.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|x86.Build.0 = Debug|x86
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Any CPU.Build.0 = Debug|Any CPU
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Debug|XBox 360.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Android.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Any CPU.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|iOS.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Linux.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Mac OS.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Mixed Platforms.Build.0 = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|PS Vita.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Windows.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Windows Metro.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|Windows Phone.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|x86.ActiveCfg = Debug|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|x86.Build.0 = Debug|x86
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.DebugWin8|XBox 360.ActiveCfg = Debug|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Android.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Any CPU.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|iOS.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Linux.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Mac OS.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Mixed Platforms.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Mixed Platforms.Build.0 = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|PS Vita.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Windows.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Windows Metro.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|Windows Phone.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|x86.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|x86.Build.0 = Release|x86
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Any CPU.ActiveCfg = Release|Any CPU
- {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Any CPU.Build.0 = Release|Any CPU
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.Release|XBox 360.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Android.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Any CPU.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|iOS.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Linux.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Mac OS.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Mixed Platforms.Build.0 = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|PS Vita.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Windows.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Windows Metro.ActiveCfg = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|Windows Phone.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|x86.ActiveCfg = Release|x86
{EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|x86.Build.0 = Release|x86
+ {EFC485F7-3E0A-40AB-B79D-E07FE86FC386}.ReleaseWin8|XBox 360.ActiveCfg = Release|x86
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Android.ActiveCfg = Debug|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Android.Build.0 = Debug|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Any CPU.ActiveCfg = Debug|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|iOS.ActiveCfg = Debug|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|iOS.Build.0 = Debug|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Linux.ActiveCfg = Debug|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Linux.Build.0 = Debug|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mac OS.ActiveCfg = Debug|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mac OS.Build.0 = Debug|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.ActiveCfg = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.Build.0 = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|PS Vita.ActiveCfg = Debug|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|PS Vita.Build.0 = Debug|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows.ActiveCfg = Debug|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows.Build.0 = Debug|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Metro.ActiveCfg = Debug|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Metro.Build.0 = Debug|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Phone.ActiveCfg = Debug|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Windows Phone.Build.0 = Debug|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|x86.ActiveCfg = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|XBox 360.ActiveCfg = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|XBox 360.Build.0 = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Android.ActiveCfg = Debug|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Android.Build.0 = Debug|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Any CPU.ActiveCfg = Debug|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|iOS.ActiveCfg = Debug|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|iOS.Build.0 = Debug|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Linux.ActiveCfg = Debug|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Linux.Build.0 = Debug|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mac OS.ActiveCfg = Debug|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mac OS.Build.0 = Debug|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Mixed Platforms.Build.0 = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|PS Vita.ActiveCfg = Debug|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|PS Vita.Build.0 = Debug|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows.ActiveCfg = Debug|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows.Build.0 = Debug|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Metro.ActiveCfg = Debug|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Metro.Build.0 = Debug|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Phone.ActiveCfg = Debug|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|Windows Phone.Build.0 = Debug|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|x86.ActiveCfg = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|XBox 360.ActiveCfg = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.DebugWin8|XBox 360.Build.0 = Debug|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Android.ActiveCfg = Release|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Android.Build.0 = Release|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Any CPU.ActiveCfg = Release|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|iOS.ActiveCfg = Release|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|iOS.Build.0 = Release|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Linux.ActiveCfg = Release|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Linux.Build.0 = Release|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mac OS.ActiveCfg = Release|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mac OS.Build.0 = Release|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mixed Platforms.ActiveCfg = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Mixed Platforms.Build.0 = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|PS Vita.ActiveCfg = Release|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|PS Vita.Build.0 = Release|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows.ActiveCfg = Release|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows.Build.0 = Release|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Metro.ActiveCfg = Release|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Metro.Build.0 = Release|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Phone.ActiveCfg = Release|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|Windows Phone.Build.0 = Release|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|x86.ActiveCfg = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|XBox 360.ActiveCfg = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.Release|XBox 360.Build.0 = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Android.ActiveCfg = Release|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Android.Build.0 = Release|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Any CPU.ActiveCfg = Release|Android
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|iOS.ActiveCfg = Release|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|iOS.Build.0 = Release|iOS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Linux.ActiveCfg = Release|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Linux.Build.0 = Release|Linux
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mac OS.ActiveCfg = Release|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mac OS.Build.0 = Release|Mac OS
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Mixed Platforms.Build.0 = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|PS Vita.ActiveCfg = Release|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|PS Vita.Build.0 = Release|PS Vita
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows.ActiveCfg = Release|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows.Build.0 = Release|Windows
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Metro.Build.0 = Release|Windows Metro
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|Windows Phone.Build.0 = Release|Windows Phone
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|x86.ActiveCfg = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|XBox 360.ActiveCfg = Release|XBox 360
+ {75EFAE60-726E-430F-8661-4CF9ABD1306C}.ReleaseWin8|XBox 360.Build.0 = Release|XBox 360
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Samples/WpfEditor/MainWindow.xaml.cs b/Samples/WpfEditor/MainWindow.xaml.cs
index 624cdafc..304fa403 100644
--- a/Samples/WpfEditor/MainWindow.xaml.cs
+++ b/Samples/WpfEditor/MainWindow.xaml.cs
@@ -19,20 +19,33 @@ namespace WpfEditor
public MainWindow()
{
- InitializeComponent();
- emptyThreadStart = delegate { };
-
//AddInSystemFactory.Instance.SetPreferredSystem(AddInType.RenderSystem, "OpenGL3");
AddInSystemFactory.Instance.SetPreferredSystem(AddInType.RenderSystem, "DirectX10");
+
+ InitializeComponent();
+ emptyThreadStart = delegate { };
}
+ protected override void OnInitialized(EventArgs e)
+ {
+ base.OnInitialized(e);
+
+ device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef,
+ new PresentationParameters
+ {
+ BackBufferWidth = GamePanel.Width,
+ BackBufferHeight = GamePanel.Height,
+ BackBufferFormat = SurfaceFormat.Color,
+ DeviceWindowHandle = new WindowHandle(GamePanel.Handle),
+ PresentationInterval = PresentInterval.Default,
+ });
+ }
+
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
- Initialize();
-
- while (IsVisible)
+ while (IsVisible && IsActive)
{
if (Application.Current != null)
Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, emptyThreadStart);
@@ -41,19 +54,6 @@ namespace WpfEditor
}
}
- public void Initialize()
- {
- device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef,
- new PresentationParameters
- {
- BackBufferWidth = GamePanel.Width,
- BackBufferHeight = GamePanel.Height,
- BackBufferFormat = SurfaceFormat.Color,
- DeviceWindowHandle = new WindowHandle(GamePanel.Handle),
- PresentationInterval = PresentInterval.Default,
- });
- }
-
public void Tick()
{
device.Clear(ClearOptions.Target, Color.CornflowerBlue, 0f, 0);
diff --git a/Samples/WpfEditor/WpfEditor.csproj b/Samples/WpfEditor/WpfEditor.csproj
index 2dc9fce7..697819f0 100644
--- a/Samples/WpfEditor/WpfEditor.csproj
+++ b/Samples/WpfEditor/WpfEditor.csproj
@@ -25,6 +25,7 @@
DEBUG;TRACE
prompt
4
+ true
x86
@@ -38,6 +39,9 @@
anx.ico
+
+ Always
+
@@ -98,35 +102,35 @@
-
- {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}
- ANX.Framework
-
-
- {60D08399-244F-46A3-91F1-4CFD26D961A3}
- ANX.InputDevices.Windows.XInput
-
-
- {49066074-3B7B-4A55-B122-6BD33AB73558}
- ANX.InputSystem.Standard
-
-
- {EB8258E0-6741-4DB9-B756-1EBDF67B1ED6}
- ANX.RenderSystem.GL3
-
-
- {5BE49183-2F6F-4527-AC90-D816911FCF90}
- ANX.RenderSystem.Windows.DX10
-
-
- {14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}
- ANX.SoundSystem.OpenAL
-
+
+ ..\..\bin\Debug\ANX.Framework.dll
+
+
+ ..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll
+
+
+ ..\..\bin\Debug\ANX.InputSystem.Standard.dll
+
+
+ ..\..\bin\Debug\ANX.PlatformSystem.Windows.dll
+
+
+ ..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll
+
+
+ ..\..\bin\Debug\ANX.RenderSystem.GL3.dll
+
+
+ ..\..\bin\Debug\ANX.SoundSystem.OpenAL.dll
+
+
+ xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y
+