Updated BasicEffectSample, DualTextureSample, KeyboardSample and MultiRenderTarget. Also reduced the memory usage for multiple rendertargets

Also did some Refactoring for Classes that implement and use
INativeBuffer.
The memory usage reduction for rendertargets resulted in some
refactoring of the directx texture classes.
Also added DebugNames for some DirectX resources in case of a debug
build.
This commit is contained in:
Konstantin Koch 2015-09-30 21:31:15 +02:00
parent c335f183cb
commit 55ab328f79
44 changed files with 2059 additions and 1605 deletions

View File

@ -164,19 +164,18 @@ namespace ANX.Framework.Graphics
public void SetData<T>(int offsetInBytes, T[] data, int startIndex, public void SetData<T>(int offsetInBytes, T[] data, int startIndex,
int elementCount) where T : struct int elementCount) where T : struct
{ {
NativeIndexBuffer.SetData(GraphicsDevice, offsetInBytes, data, NativeIndexBuffer.SetData(offsetInBytes, data, startIndex, elementCount);
startIndex, elementCount);
} }
public void SetData<T>(T[] data) where T : struct public void SetData<T>(T[] data) where T : struct
{ {
NativeIndexBuffer.SetData(GraphicsDevice, data); NativeIndexBuffer.SetData(data);
} }
public void SetData<T>(T[] data, int startIndex, int elementCount) public void SetData<T>(T[] data, int startIndex, int elementCount)
where T : struct where T : struct
{ {
NativeIndexBuffer.SetData(GraphicsDevice, data, startIndex, elementCount); NativeIndexBuffer.SetData(data, startIndex, elementCount);
} }
#endregion #endregion

View File

@ -30,8 +30,8 @@ namespace ANX.Framework.Graphics
public RenderTarget2D(GraphicsDevice graphicsDevice, int width, int height) public RenderTarget2D(GraphicsDevice graphicsDevice, int width, int height)
: base(graphicsDevice) : base(graphicsDevice)
{ {
this.width = width; this.Width = width;
this.height = height; this.Height = height;
OneOverWidth = 1f / width; OneOverWidth = 1f / width;
OneOverHeight = 1f / height; OneOverHeight = 1f / height;
@ -52,8 +52,8 @@ namespace ANX.Framework.Graphics
[MarshalAsAttribute(UnmanagedType.U1)] bool mipMap, SurfaceFormat preferredFormat, DepthFormat preferredDepthFormat) [MarshalAsAttribute(UnmanagedType.U1)] bool mipMap, SurfaceFormat preferredFormat, DepthFormat preferredDepthFormat)
: base(graphicsDevice) : base(graphicsDevice)
{ {
this.width = width; this.Width = width;
this.height = height; this.Height = height;
OneOverWidth = 1f / width; OneOverWidth = 1f / width;
OneOverHeight = 1f / height; OneOverHeight = 1f / height;
@ -75,8 +75,8 @@ namespace ANX.Framework.Graphics
int preferredMultiSampleCount, RenderTargetUsage usage) int preferredMultiSampleCount, RenderTargetUsage usage)
: base(graphicsDevice) : base(graphicsDevice)
{ {
this.width = width; this.Width = width;
this.height = height; this.Height = height;
OneOverWidth = 1f / width; OneOverWidth = 1f / width;
OneOverHeight = 1f / height; OneOverHeight = 1f / height;

View File

@ -20,9 +20,6 @@ namespace ANX.Framework.Graphics
public class Texture2D : Texture, IGraphicsResource public class Texture2D : Texture, IGraphicsResource
{ {
#region Private #region Private
protected internal int width;
protected internal int height;
internal float OneOverWidth; internal float OneOverWidth;
internal float OneOverHeight; internal float OneOverHeight;
@ -44,24 +41,20 @@ namespace ANX.Framework.Graphics
{ {
get get
{ {
return new Rectangle(0, 0, this.width, this.height); return new Rectangle(0, 0, this.Width, this.Height);
} }
} }
public int Width public int Width
{ {
get get;
{ protected set;
return this.width;
}
} }
public int Height public int Height
{ {
get get;
{ protected set;
return this.height;
}
} }
#endregion #endregion
@ -74,8 +67,8 @@ namespace ANX.Framework.Graphics
public Texture2D(GraphicsDevice graphicsDevice, int width, int height) public Texture2D(GraphicsDevice graphicsDevice, int width, int height)
: base(graphicsDevice) : base(graphicsDevice)
{ {
this.width = width; this.Width = width;
this.height = height; this.Height = height;
OneOverWidth = 1f / width; OneOverWidth = 1f / width;
OneOverHeight = 1f / height; OneOverHeight = 1f / height;
@ -89,8 +82,8 @@ namespace ANX.Framework.Graphics
SurfaceFormat format) SurfaceFormat format)
: base(graphicsDevice) : base(graphicsDevice)
{ {
this.width = width; this.Width = width;
this.height = height; this.Height = height;
OneOverWidth = 1f / width; OneOverWidth = 1f / width;
OneOverHeight = 1f / height; OneOverHeight = 1f / height;
@ -104,8 +97,8 @@ namespace ANX.Framework.Graphics
internal Texture2D(GraphicsDevice graphicsDevice, int width, int height, int mipCount, SurfaceFormat format) internal Texture2D(GraphicsDevice graphicsDevice, int width, int height, int mipCount, SurfaceFormat format)
: base(graphicsDevice) : base(graphicsDevice)
{ {
this.width = width; this.Width = width;
this.height = height; this.Height = height;
OneOverWidth = 1f / width; OneOverWidth = 1f / width;
OneOverHeight = 1f / height; OneOverHeight = 1f / height;
@ -154,12 +147,12 @@ namespace ANX.Framework.Graphics
public void SetData<T>(T[] data) where T : struct public void SetData<T>(T[] data) where T : struct
{ {
NativeTexture.SetData<T>(GraphicsDevice, data); NativeTexture.SetData(data);
} }
public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct
{ {
NativeTexture.SetData<T>(GraphicsDevice, data, startIndex, elementCount); NativeTexture.SetData<T>(data, startIndex, elementCount);
} }
#endregion #endregion
@ -200,7 +193,7 @@ namespace ANX.Framework.Graphics
private void CreateNativeTextureSurface() private void CreateNativeTextureSurface()
{ {
var creator = AddInSystemFactory.Instance.GetDefaultCreator<IRenderSystemCreator>(); var creator = AddInSystemFactory.Instance.GetDefaultCreator<IRenderSystemCreator>();
nativeTexture2D = creator.CreateTexture(GraphicsDevice, Format, width, height, LevelCount); nativeTexture2D = creator.CreateTexture(GraphicsDevice, Format, Width, Height, LevelCount);
base.nativeTexture = nativeTexture2D; base.nativeTexture = nativeTexture2D;
} }
#endregion #endregion

View File

@ -119,17 +119,17 @@ namespace ANX.Framework.Graphics
#region SetData #region SetData
public void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount, int vertexStride) where T : struct public void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount, int vertexStride) where T : struct
{ {
NativeVertexBuffer.SetData(GraphicsDevice, offsetInBytes, data, startIndex, elementCount, vertexStride); NativeVertexBuffer.SetData(offsetInBytes, data, startIndex, elementCount, vertexStride);
} }
public void SetData<T>(T[] data) where T : struct public void SetData<T>(T[] data) where T : struct
{ {
NativeVertexBuffer.SetData(GraphicsDevice, data); NativeVertexBuffer.SetData(data);
} }
public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct
{ {
NativeVertexBuffer.SetData(GraphicsDevice, data, startIndex, elementCount); NativeVertexBuffer.SetData(data, startIndex, elementCount);
} }
#endregion #endregion

View File

@ -9,11 +9,8 @@ namespace ANX.Framework.NonXNA.RenderSystem
{ {
public interface INativeBuffer : IDisposable public interface INativeBuffer : IDisposable
{ {
void SetData<T>(GraphicsDevice graphicsDevice, T[] data) where T : struct; void SetData<T>(T[] data) where T : struct;
void SetData<T>(GraphicsDevice graphicsDevice, T[] data, int startIndex, void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct;
int elementCount) where T : struct;
void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes, T[] data,
int startIndex, int elementCount) where T : struct;
void GetData<T>(T[] data) where T : struct; void GetData<T>(T[] data) where T : struct;
void GetData<T>(T[] data, int startIndex, int elementCount) where T : struct; void GetData<T>(T[] data, int startIndex, int elementCount) where T : struct;

View File

@ -9,7 +9,6 @@ namespace ANX.Framework.NonXNA
{ {
public interface INativeGraphicsDevice : IDisposable public interface INativeGraphicsDevice : IDisposable
{ {
void Clear(ref Color color);
void Clear(ClearOptions options, Vector4 color, float depth, int stencil); void Clear(ClearOptions options, Vector4 color, float depth, int stencil);
void Present(); void Present();

View File

@ -9,7 +9,8 @@ namespace ANX.Framework.NonXNA.RenderSystem
{ {
public interface INativeIndexBuffer : INativeBuffer public interface INativeIndexBuffer : INativeBuffer
{ {
void GetData<T>(int offsetInBytes, T[] data, int startIndex, void GetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount) where T : struct;
int elementCount) where T : struct;
void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount) where T : struct;
} }
} }

View File

@ -12,10 +12,8 @@ namespace ANX.Framework.NonXNA.RenderSystem
void SaveAsJpeg(Stream stream, int width, int height); void SaveAsJpeg(Stream stream, int width, int height);
void SaveAsPng(Stream stream, int width, int height); void SaveAsPng(Stream stream, int width, int height);
void GetData<T>(int level, Nullable<Rectangle> rect, T[] data, void GetData<T>(int level, Nullable<Rectangle> rect, T[] data, int startIndex, int elementCount) where T : struct;
int startIndex, int elementCount) where T : struct;
void SetData<T>(int level, Nullable<Rectangle> rect, T[] data, void SetData<T>(int level, Nullable<Rectangle> rect, T[] data, int startIndex, int elementCount) where T : struct;
int startIndex, int elementCount) where T : struct;
} }
} }

View File

@ -10,10 +10,8 @@ namespace ANX.Framework.NonXNA.RenderSystem
{ {
public interface INativeVertexBuffer : INativeBuffer public interface INativeVertexBuffer : INativeBuffer
{ {
void GetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount, void GetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount, int vertexStride) where T : struct;
int vertexStride) where T : struct;
void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes, T[] data, void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount, int vertexStride) where T : struct;
int startIndex, int elementCount, int vertexStride) where T : struct;
} }
} }

View File

@ -663,39 +663,38 @@ Global
{B30DE9C2-0926-46B6-8351-9AF276C472D5}.Release|x86.ActiveCfg = Release|x86 {B30DE9C2-0926-46B6-8351-9AF276C472D5}.Release|x86.ActiveCfg = Release|x86
{B30DE9C2-0926-46B6-8351-9AF276C472D5}.Release|x86.Build.0 = Release|x86 {B30DE9C2-0926-46B6-8351-9AF276C472D5}.Release|x86.Build.0 = Release|x86
{B30DE9C2-0926-46B6-8351-9AF276C472D5}.Release|Xbox 360.ActiveCfg = Release|x86 {B30DE9C2-0926-46B6-8351-9AF276C472D5}.Release|Xbox 360.ActiveCfg = Release|x86
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Android.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Android.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.Build.0 = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.Build.0 = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|ARM.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|ARM.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|iOS.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|iOS.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Linux.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Linux.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mac OS.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.Build.0 = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|PS Vita.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows Metro.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows Phone.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x64.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x64.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x86.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x86.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x86.Build.0 = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Xbox 360.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Xbox 360.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Android.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Android.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Any CPU.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Any CPU.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Any CPU.Build.0 = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|ARM.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|ARM.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|iOS.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|iOS.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Linux.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Linux.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mac OS.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mac OS.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.Build.0 = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|PS Vita.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|PS Vita.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows Metro.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows Phone.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x64.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x64.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x86.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x86.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x86.Build.0 = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Xbox 360.ActiveCfg = Release|x86
{71378D2F-0DCD-4413-8DE0-3FEC0BA04E27}.Debug|Android.ActiveCfg = Debug|x86 {71378D2F-0DCD-4413-8DE0-3FEC0BA04E27}.Debug|Android.ActiveCfg = Debug|x86
{71378D2F-0DCD-4413-8DE0-3FEC0BA04E27}.Debug|Any CPU.ActiveCfg = Debug|x86 {71378D2F-0DCD-4413-8DE0-3FEC0BA04E27}.Debug|Any CPU.ActiveCfg = Debug|x86
{71378D2F-0DCD-4413-8DE0-3FEC0BA04E27}.Debug|Any CPU.Build.0 = Debug|x86 {71378D2F-0DCD-4413-8DE0-3FEC0BA04E27}.Debug|Any CPU.Build.0 = Debug|x86
@ -1052,39 +1051,38 @@ Global
{5040A9C7-6DEC-4613-8586-A598C4070B35}.Release|x64.ActiveCfg = Release|Any CPU {5040A9C7-6DEC-4613-8586-A598C4070B35}.Release|x64.ActiveCfg = Release|Any CPU
{5040A9C7-6DEC-4613-8586-A598C4070B35}.Release|x86.ActiveCfg = Release|Any CPU {5040A9C7-6DEC-4613-8586-A598C4070B35}.Release|x86.ActiveCfg = Release|Any CPU
{5040A9C7-6DEC-4613-8586-A598C4070B35}.Release|Xbox 360.ActiveCfg = Release|Any CPU {5040A9C7-6DEC-4613-8586-A598C4070B35}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Android.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Android.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.Build.0 = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|ARM.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|ARM.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|iOS.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|iOS.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Linux.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Linux.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mac OS.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.Build.0 = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|PS Vita.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows Metro.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows Phone.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x64.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x64.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x86.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x86.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x86.Build.0 = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Xbox 360.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Xbox 360.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Android.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Android.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Any CPU.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Any CPU.Build.0 = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|ARM.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|ARM.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|iOS.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|iOS.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Linux.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Linux.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mac OS.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mac OS.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.Build.0 = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|PS Vita.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|PS Vita.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows Metro.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows Phone.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x64.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x64.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x86.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x86.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x86.Build.0 = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Xbox 360.ActiveCfg = Release|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Android.ActiveCfg = Debug|x86 {441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Android.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.ActiveCfg = Debug|x86 {441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.ActiveCfg = Debug|x86
{441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.Build.0 = Debug|x86 {441D953C-94C2-42FD-9917-3EB2F6E28173}.Debug|Any CPU.Build.0 = Debug|x86
@ -1572,39 +1570,38 @@ Global
{E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94}.Release|x64.ActiveCfg = Release|Any CPU {E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94}.Release|x64.ActiveCfg = Release|Any CPU
{E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94}.Release|x86.ActiveCfg = Release|Any CPU {E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94}.Release|x86.ActiveCfg = Release|Any CPU
{E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94}.Release|Xbox 360.ActiveCfg = Release|Any CPU {E2EE2D12-A98E-4C21-AFFA-35F48D2B2A94}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Android.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Android.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Any CPU.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Any CPU.Build.0 = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|ARM.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|ARM.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|iOS.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|iOS.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Linux.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Linux.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Mac OS.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Mixed Platforms.Build.0 = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|PS Vita.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Windows.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Windows.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Windows Metro.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Windows Phone.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|x64.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|x64.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|x86.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|x86.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|x86.Build.0 = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Xbox 360.ActiveCfg = Debug|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Debug|Xbox 360.ActiveCfg = Debug|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Android.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Android.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Any CPU.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Any CPU.Build.0 = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|ARM.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|ARM.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|iOS.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|iOS.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Linux.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Linux.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Mac OS.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Mac OS.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Mixed Platforms.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Mixed Platforms.Build.0 = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|PS Vita.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|PS Vita.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Windows.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Windows.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Windows Metro.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Windows Phone.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|x64.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|x64.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|x86.ActiveCfg = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|x86.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|x86.Build.0 = Release|x86 {4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{4A048A8C-C31D-4FC8-AAF3-C387B9E0309B}.Release|Xbox 360.ActiveCfg = Release|x86
{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Android.ActiveCfg = Debug|Any CPU {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Android.ActiveCfg = Debug|Any CPU
{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Any CPU.Build.0 = Debug|Any CPU {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
@ -1637,72 +1634,70 @@ Global
{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|x64.ActiveCfg = Release|Any CPU {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|x64.ActiveCfg = Release|Any CPU
{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|x86.ActiveCfg = Release|Any CPU {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|x86.ActiveCfg = Release|Any CPU
{45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|Xbox 360.ActiveCfg = Release|Any CPU {45DD7B40-C498-4DD2-A16B-FD6C4E6991B3}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Android.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Android.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|ARM.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|ARM.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|iOS.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|iOS.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Linux.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Linux.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mac OS.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|PS Vita.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows Metro.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows Phone.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x64.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x64.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x86.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x86.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x86.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Xbox 360.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Xbox 360.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Android.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Android.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Any CPU.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Any CPU.Build.0 = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|ARM.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|ARM.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|iOS.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|iOS.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Linux.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Linux.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mac OS.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mac OS.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.Build.0 = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|PS Vita.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|PS Vita.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows Metro.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows Phone.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x64.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x64.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x86.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x86.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x86.Build.0 = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Xbox 360.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Android.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Android.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|ARM.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|ARM.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|iOS.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|iOS.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Linux.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Linux.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mac OS.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|PS Vita.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows Metro.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows Phone.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x64.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x64.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x86.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x86.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Xbox 360.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x86.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Android.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Xbox 360.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Android.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Any CPU.Build.0 = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Any CPU.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|ARM.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|ARM.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|iOS.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|iOS.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Linux.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Linux.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mac OS.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mac OS.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.Build.0 = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|PS Vita.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|PS Vita.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows Metro.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows Phone.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x64.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x64.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x86.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x86.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x86.Build.0 = Release|x86
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Xbox 360.ActiveCfg = Release|x86
{1986B0ED-3D28-4FEE-82D0-BCC39C87C18C}.Debug|Android.ActiveCfg = Debug|Any CPU {1986B0ED-3D28-4FEE-82D0-BCC39C87C18C}.Debug|Android.ActiveCfg = Debug|Any CPU
{1986B0ED-3D28-4FEE-82D0-BCC39C87C18C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1986B0ED-3D28-4FEE-82D0-BCC39C87C18C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1986B0ED-3D28-4FEE-82D0-BCC39C87C18C}.Debug|Any CPU.Build.0 = Debug|Any CPU {1986B0ED-3D28-4FEE-82D0-BCC39C87C18C}.Debug|Any CPU.Build.0 = Debug|Any CPU
@ -1933,38 +1928,38 @@ Global
{AA3DF4D7-F072-47B5-B88C-20140B5F704A}.Release|x64.ActiveCfg = Release|Any CPU {AA3DF4D7-F072-47B5-B88C-20140B5F704A}.Release|x64.ActiveCfg = Release|Any CPU
{AA3DF4D7-F072-47B5-B88C-20140B5F704A}.Release|x86.ActiveCfg = Release|Any CPU {AA3DF4D7-F072-47B5-B88C-20140B5F704A}.Release|x86.ActiveCfg = Release|Any CPU
{AA3DF4D7-F072-47B5-B88C-20140B5F704A}.Release|Xbox 360.ActiveCfg = Release|Any CPU {AA3DF4D7-F072-47B5-B88C-20140B5F704A}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Android.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Android.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Any CPU.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|ARM.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|iOS.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|ARM.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Linux.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|iOS.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Mac OS.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Linux.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Mixed Platforms.Build.0 = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|PS Vita.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Windows.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Windows Metro.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Windows.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Windows Phone.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|x64.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|x86.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|x64.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|x86.Build.0 = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|x86.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Xbox 360.ActiveCfg = Debug|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Debug|Xbox 360.ActiveCfg = Debug|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Android.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Android.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Any CPU.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|ARM.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Any CPU.Build.0 = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|iOS.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|ARM.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Linux.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|iOS.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Mac OS.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Linux.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Mixed Platforms.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Mac OS.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Mixed Platforms.Build.0 = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|PS Vita.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Windows.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|PS Vita.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Windows Metro.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Windows.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Windows Phone.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|x64.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|x86.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|x64.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|x86.Build.0 = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|x86.ActiveCfg = Release|Any CPU
{0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Xbox 360.ActiveCfg = Release|x86 {0005BDAA-F232-45C3-8D37-7E4FF7A1F605}.Release|Xbox 360.ActiveCfg = Release|Any CPU
{C4DDFFFF-595E-4089-B499-06F68CAF2566}.Debug|Android.ActiveCfg = Debug|Any CPU {C4DDFFFF-595E-4089-B499-06F68CAF2566}.Debug|Android.ActiveCfg = Debug|Any CPU
{C4DDFFFF-595E-4089-B499-06F68CAF2566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C4DDFFFF-595E-4089-B499-06F68CAF2566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4DDFFFF-595E-4089-B499-06F68CAF2566}.Debug|Any CPU.Build.0 = Debug|Any CPU {C4DDFFFF-595E-4089-B499-06F68CAF2566}.Debug|Any CPU.Build.0 = Debug|Any CPU

View File

@ -102,16 +102,13 @@ namespace ANX.RenderSystem.GL3
#endregion #endregion
#region SetData #region SetData
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data) public void SetData<T>(T[] data)
where T : struct where T : struct
{ {
BufferData(data, 0); BufferData(data, 0);
} }
#endregion
#region SetData public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data,
int startIndex, int elementCount) where T : struct
{ {
if (startIndex != 0 || if (startIndex != 0 ||
elementCount != data.Length) elementCount != data.Length)
@ -125,11 +122,8 @@ namespace ANX.RenderSystem.GL3
BufferData(data, 0); BufferData(data, 0);
} }
} }
#endregion
#region SetData public void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount) where T : struct
public void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes,
T[] data, int startIndex, int elementCount) where T : struct
{ {
if (startIndex != 0 || if (startIndex != 0 ||
elementCount != data.Length) elementCount != data.Length)

View File

@ -85,14 +85,14 @@ namespace ANX.RenderSystem.GL3
// TODO: offsetInBytes // TODO: offsetInBytes
// TODO: elementCount // TODO: elementCount
#region SetData #region SetData
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data) where T : struct public void SetData<T>(T[] data) where T : struct
{ {
SetData<T>(graphicsDevice, 0, data, 0, data.Length); SetData<T>(0, data, 0, data.Length);
} }
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data, int startIndex, int elementCount) where T : struct public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct
{ {
SetData<T>(graphicsDevice, 0, data, 0, data.Length); SetData<T>(0, data, 0, data.Length);
} }
public void SetData<T>(int level, Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct public void SetData<T>(int level, Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct
@ -136,8 +136,7 @@ namespace ANX.RenderSystem.GL3
} }
} }
public void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes, T[] data, int startIndex, int elementCount) public void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount) where T : struct
where T : struct
{ {
int size = Marshal.SizeOf(typeof(T)) * data.Length; int size = Marshal.SizeOf(typeof(T)) * data.Length;
if (size > maxSetDataSize) if (size > maxSetDataSize)
@ -246,7 +245,7 @@ namespace ANX.RenderSystem.GL3
internal void RecreateData() internal void RecreateData()
{ {
CreateTexture(); CreateTexture();
SetData(null, texData); SetData(texData);
texData = null; texData = null;
} }
#endregion #endregion

View File

@ -106,16 +106,13 @@ namespace ANX.RenderSystem.GL3
#endregion #endregion
#region SetData #region SetData
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data) public void SetData<T>(T[] data)
where T : struct where T : struct
{ {
BufferData(data, 0); BufferData(data, 0);
} }
#endregion
#region SetData public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data,
int startIndex, int elementCount) where T : struct
{ {
if (startIndex != 0 || if (startIndex != 0 ||
elementCount != data.Length) elementCount != data.Length)
@ -129,11 +126,8 @@ namespace ANX.RenderSystem.GL3
BufferData(data, 0); BufferData(data, 0);
} }
} }
#endregion
#region SetData public void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount) where T : struct
public void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes,
T[] data, int startIndex, int elementCount) where T : struct
{ {
if (startIndex != 0 || if (startIndex != 0 ||
elementCount != data.Length) elementCount != data.Length)
@ -147,11 +141,8 @@ namespace ANX.RenderSystem.GL3
BufferData(data, offsetInBytes); BufferData(data, offsetInBytes);
} }
} }
#endregion
#region SetData public void SetData<T>(int offsetInBytes, T[] data, int startIndex, int elementCount, int vertexStride) where T : struct
public void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes,
T[] data, int startIndex, int elementCount, int vertexStride) where T : struct
{ {
T[] elements; T[] elements;
if (startIndex != 0 || if (startIndex != 0 ||

View File

@ -23,6 +23,8 @@ namespace ANX.RenderSystem.Windows.DX11
#region FormatSize (SurfaceFormat) #region FormatSize (SurfaceFormat)
public static int FormatSize(SurfaceFormat format) public static int FormatSize(SurfaceFormat format)
{ {
// description of texture formats of DX10: http://msdn.microsoft.com/en-us/library/bb694531(v=VS.85).aspx
// more helpfull information on DX10 textures: http://msdn.microsoft.com/en-us/library/windows/desktop/bb205131(v=vs.85).aspx
switch (format) switch (format)
{ {
case SurfaceFormat.Vector4: case SurfaceFormat.Vector4:
@ -39,9 +41,6 @@ namespace ANX.RenderSystem.Windows.DX11
//case SurfaceFormat.BGR565: //case SurfaceFormat.BGR565:
//case SurfaceFormat.BGRA5551: //case SurfaceFormat.BGRA5551:
// return 2; // return 2;
case SurfaceFormat.Dxt1:
case SurfaceFormat.Dxt3:
case SurfaceFormat.Dxt5:
case SurfaceFormat.Alpha8: case SurfaceFormat.Alpha8:
return 1; return 1;
} }

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#if DX10
namespace ANX.RenderSystem.Windows.DX10
#elif DX11
namespace ANX.RenderSystem.Windows.DX11
#endif
{
public enum ResourceMapping
{
Read = 1,
Write = 2,
ReadWrite = 3,
}
}

View File

@ -19,195 +19,206 @@ namespace ANX.RenderSystem.Windows.DX11
{ {
public partial class DxTexture2D : IDisposable public partial class DxTexture2D : IDisposable
{ {
#region Private #if DEBUG
protected int mipCount; static int textureCount = 0;
protected int tempSubresource; #endif
protected int pitch;
private int formatSize;
protected SurfaceFormat surfaceFormat; protected SurfaceFormat surfaceFormat;
protected bool useRenderTexture;
#endregion public int Width
{
get;
protected set;
}
public int Height
{
get;
protected set;
}
#region Public #region Public
public GraphicsDevice GraphicsDevice public GraphicsDeviceDX GraphicsDevice
{ {
get; get;
protected set; protected set;
} }
#endregion #endregion
#region Constructor public void SetData<T>(T[] data) where T : struct
protected DxTexture2D(GraphicsDevice graphicsDevice, SurfaceFormat setSurfaceFormat, int setMipCount)
{ {
mipCount = setMipCount; SetData<T>(0, null, data, 0, data.Length);
useRenderTexture = mipCount > 1;
GraphicsDevice = graphicsDevice;
surfaceFormat = setSurfaceFormat;
// description of texture formats of DX10: http://msdn.microsoft.com/en-us/library/bb694531(v=VS.85).aspx
// more helpfull information on DX10 textures: http://msdn.microsoft.com/en-us/library/windows/desktop/bb205131(v=vs.85).aspx
formatSize = DxFormatConverter.FormatSize(surfaceFormat);
}
#endregion
#region SetData
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data) where T : struct
{
SetData<T>(graphicsDevice, 0, data, 0, data.Length);
} }
public void SetData<T>(GraphicsDevice graphicsDevice, T[] data, int startIndex, int elementCount) where T : struct public void SetData<T>(T[] data, int startIndex, int elementCount) where T : struct
{ {
SetData<T>(graphicsDevice, 0, data, startIndex, elementCount); SetData<T>(0, null, data, startIndex, elementCount);
} }
public void SetData<T>(GraphicsDevice graphicsDevice, int offsetInBytes, T[] data, int startIndex, int elementCount)
where T : struct
{
//TODO: handle offsetInBytes parameter
//TODO: handle startIndex parameter
//TODO: handle elementCount parameter
unsafe
{
GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned);
byte* colorData = (byte*)handle.AddrOfPinnedObject();
switch (surfaceFormat)
{
case SurfaceFormat.Color:
SetDataColor(0, offsetInBytes, colorData, startIndex, elementCount);
return;
case SurfaceFormat.Dxt1:
case SurfaceFormat.Dxt3:
case SurfaceFormat.Dxt5:
SetDataDxt(0, offsetInBytes, colorData, startIndex, elementCount, data.Length);
return;
}
handle.Free();
}
throw new Exception(String.Format("creating textures of format {0} not yet implemented...", surfaceFormat));
}
#endregion
#region SetDataColor
private unsafe void SetDataColor(int level, int offsetInBytes, byte* colorData, int startIndex, int elementCount)
{
int mipmapWidth = Math.Max(Width >> level, 1);
int mipmapHeight = Math.Max(Height >> level, 1);
IntPtr dataPtr = MapWrite(level);
int srcIndex = 0;
byte* pTexels = (byte*)dataPtr;
for (int row = 0; row < mipmapHeight; row++)
{
int rowStart = row * pitch;
for (int col = 0; col < mipmapWidth; col++)
{
int colStart = rowStart + (col * formatSize);
pTexels[colStart++] = colorData[srcIndex++];
pTexels[colStart++] = colorData[srcIndex++];
pTexels[colStart++] = colorData[srcIndex++];
pTexels[colStart++] = colorData[srcIndex++];
}
}
Unmap();
}
#endregion
#region SetDataDxt
private unsafe void SetDataDxt(int level, int offsetInBytes, byte* colorData, int startIndex, int elementCount,
int dataLength)
{
int mipmapWidth = Math.Max(Width >> level, 1);
int mipmapHeight = Math.Max(Height >> level, 1);
int w = (mipmapWidth + 3) >> 2;
int h = (mipmapHeight + 3) >> 2;
formatSize = (surfaceFormat == SurfaceFormat.Dxt1) ? 8 : 16;
IntPtr dataPtr = MapWrite(level);
var ds = new DataStream(dataPtr, mipmapWidth * mipmapHeight * 4 * 2, true, true);
int col = 0;
int index = 0; // startIndex
int count = dataLength; // elementCount
int actWidth = w * formatSize;
for (int i = 0; i < h; i++)
{
ds.Position = (i * pitch) + (col * formatSize);
if (count <= 0)
break;
else if (count < actWidth)
{
for (int idx = index; idx < index + count; idx++)
ds.WriteByte(colorData[idx]);
break;
}
for (int idx = index; idx < index + actWidth; idx++)
ds.WriteByte(colorData[idx]);
index += actWidth;
count -= actWidth;
}
Unmap();
}
#endregion
#region SetData (TODO)
public void SetData<T>(int level, Framework.Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct public void SetData<T>(int level, Framework.Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct
{ {
//TODO: handle rect parameter int formatSize = DxFormatConverter.FormatSize(this.surfaceFormat);
int elementSize = Marshal.SizeOf(typeof(T));
Framework.Rectangle realRect;
if (rect.HasValue)
realRect = rect.Value;
else
{
realRect.X = 0;
realRect.Y = 0;
realRect.Width = this.Width;
realRect.Height = this.Height;
}
UpdateSubresource(data, _nativeTexture, level, realRect);
}
public void GetData<T>(T[] data) where T : struct
{
if (data == null)
throw new ArgumentNullException("data");
this.GetData<T>(0, null, data, 0, data.Length);
}
public void GetData<T>(T[] data, int startIndex, int elementCount) where T : struct
{
this.GetData<T>(0, null, data, startIndex, elementCount);
}
private Framework.Rectangle ValidateRect<T>(int level, Framework.Rectangle? rect, T[] data, int startIndex, int elementCount)
{
if (data == null)
throw new ArgumentNullException("data");
if (startIndex + elementCount > data.Length)
throw new ArgumentOutOfRangeException("startIndex + elementCount is bigger than data.Length");
int mipmapWidth = Math.Max(Width >> level, 1);
int mipmapHeight = Math.Max(Height >> level, 1);
Framework.Rectangle finalRect;
if (rect != null) if (rect != null)
throw new Exception("Texture2D SetData with rectangle is not yet implemented!");
unsafe
{ {
GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); finalRect = rect.Value;
byte* colorData = (byte*)handle.AddrOfPinnedObject();
switch (surfaceFormat) if (finalRect.X < 0 || finalRect.Width <= 0 || finalRect.Y < 0 || finalRect.Height <= 0)
throw new ArgumentException("The given rectangle is invalid.");
if (finalRect.Right > mipmapWidth || finalRect.Bottom > mipmapHeight)
throw new ArgumentException("The given rectangle is bigger than the texture on the given mip level.");
}
else
finalRect = new Framework.Rectangle(0, 0, mipmapWidth, mipmapHeight);
int formatSize = DxFormatConverter.FormatSize(this.surfaceFormat);
int elementSize = Marshal.SizeOf(typeof(T));
if (elementSize * elementCount != formatSize * mipmapWidth * mipmapHeight)
throw new ArgumentException("\"data\" has the wrong size.");
return finalRect;
}
public void GetData<T>(int level, Framework.Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct
{ {
case SurfaceFormat.Color: var finalRect = ValidateRect(level, rect, data, startIndex, elementCount);
SetDataColor(level, 0, colorData, startIndex, elementCount);
return;
case SurfaceFormat.Dxt1: using (var texture = CreateStagingTexture(ResourceMapping.Read))
case SurfaceFormat.Dxt3: {
case SurfaceFormat.Dxt5: GraphicsDevice.NativeDevice.CopyResource(NativeTexture, texture);
SetDataDxt(level, 0, colorData, startIndex, elementCount, data.Length);
return; int subresource = GetSubresource(level);
int pitch;
using (var dataStream = Map(texture, subresource, level, ResourceMapping.Read, out pitch))
{
try
{
int elementIndex = startIndex;
for (int y = finalRect.Top; y < finalRect.Bottom; y++)
{
int width = Math.Min(finalRect.Width, elementCount);
if (width <= 0)
break;
dataStream.Position = y * pitch;
dataStream.ReadRange(data, elementIndex, width);
elementIndex += finalRect.Width;
elementCount -= width;
}
}
finally
{
Unmap(texture, subresource);
}
}
}
} }
handle.Free(); private bool IsDxt
{
get
{
return this.surfaceFormat == SurfaceFormat.Dxt1 || this.surfaceFormat == SurfaceFormat.Dxt3 || this.surfaceFormat == SurfaceFormat.Dxt5;
}
} }
throw new Exception(String.Format("creating textures of format {0} not yet implemented...", surfaceFormat)); protected int SizeInBytes(int level)
{
int mipmapWidth = Math.Max(Width >> level, 1);
int mipmapHeight = Math.Max(Height >> level, 1);
if (this.IsDxt)
{
//Dxt uses 4x4 blocks and each of this block is 8 bytes in size for dxt1, so on average half a byte per pixel.
//For Dxt3 and Dxt5, it's 1 byte per pixel on average.
int w = (mipmapWidth + 3) / 4;
int h = (mipmapHeight + 3) / 4;
var formatSize = (surfaceFormat == SurfaceFormat.Dxt1) ? 8 : 16;
return w * h * formatSize;
}
else
{
return mipmapWidth * mipmapHeight * DxFormatConverter.FormatSize(this.surfaceFormat);
}
}
protected int GetPitch(int level)
{
int mipmapWidth = Math.Max(Width >> level, 1);
if (this.IsDxt)
{
//Dxt uses 4x4 blocks and each of this block is 8 bytes in size for dxt1, so on average half a byte per pixel.
//For Dxt3 and Dxt5, it's 1 byte per pixel on average.
int w = (mipmapWidth + 3) / 4;
var formatSize = (surfaceFormat == SurfaceFormat.Dxt1) ? 8 : 16;
return w * formatSize;
}
else
{
return mipmapWidth * DxFormatConverter.FormatSize(this.surfaceFormat);
}
} }
#endregion
#region Dispose #region Dispose
public void Dispose() public void Dispose()
{
this.Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool managed)
{ {
if (NativeShaderResourceView != null) if (NativeShaderResourceView != null)
{ {
NativeShaderResourceView.Dispose(); NativeShaderResourceView.Dispose();
NativeShaderResourceView = null; NativeShaderResourceView = null;
} }
if (NativeTextureStaging != null)
{
NativeTextureStaging.Dispose();
NativeTextureStaging = null;
}
} }
#endregion #endregion
} }

View File

@ -21,20 +21,7 @@ namespace ANX.RenderSystem.Windows.DX11
{ {
public partial class GraphicsDeviceDX public partial class GraphicsDeviceDX
{ {
#region Constants
protected const float ColorMultiplier = 1f / 255f;
protected const bool IsDebugMode =
#if DIRECTX_DEBUG_LAYER
true;
#else
false;
#endif
#endregion
#region Private #region Private
protected uint lastClearColor;
protected SharpDX.Color4 clearColor;
protected SharpDX.DXGI.SwapChain swapChain; protected SharpDX.DXGI.SwapChain swapChain;
protected VertexBufferBinding[] currentVertexBuffer; protected VertexBufferBinding[] currentVertexBuffer;
protected int currentVertexBufferCount; protected int currentVertexBufferCount;
@ -53,12 +40,7 @@ namespace ANX.RenderSystem.Windows.DX11
CreateDevice(presentationParameters); CreateDevice(presentationParameters);
MakeWindowAssociationAndResize(presentationParameters); MakeWindowAssociationAndResize(presentationParameters);
CreateRenderView(); CreateRenderView(presentationParameters);
// create the depth stencil buffer
SharpDX.DXGI.Format depthFormat = DxFormatConverter.Translate(presentationParameters.DepthStencilFormat);
if (depthFormat != SharpDX.DXGI.Format.Unknown)
CreateDepthStencilBuffer(depthFormat);
} }
#endregion #endregion
@ -76,21 +58,6 @@ namespace ANX.RenderSystem.Windows.DX11
} }
#endregion #endregion
#region UpdateClearColorIfNeeded
protected void UpdateClearColorIfNeeded(ref Color color)
{
uint newClearColor = color.PackedValue;
if (lastClearColor != newClearColor)
{
lastClearColor = newClearColor;
clearColor.Red = color.R * ColorMultiplier;
clearColor.Green = color.G * ColorMultiplier;
clearColor.Blue = color.B * ColorMultiplier;
clearColor.Alpha = color.A * ColorMultiplier;
}
}
#endregion
#region SetViewport #region SetViewport
public void SetViewport(Viewport viewport) public void SetViewport(Viewport viewport)
{ {
@ -104,45 +71,35 @@ namespace ANX.RenderSystem.Windows.DX11
{ {
if (swapChain != null) if (swapChain != null)
{ {
DisposeRenderView(); DisposeBackBuffer();
Format colorFormat = DxFormatConverter.Translate(presentationParameters.BackBufferFormat); Format colorFormat = DxFormatConverter.Translate(presentationParameters.BackBufferFormat);
swapChain.ResizeBuffers(swapChain.Description.BufferCount, presentationParameters.BackBufferWidth, swapChain.ResizeBuffers(swapChain.Description.BufferCount, presentationParameters.BackBufferWidth,
presentationParameters.BackBufferHeight, colorFormat, swapChain.Description.Flags); presentationParameters.BackBufferHeight, colorFormat, swapChain.Description.Flags);
CreateRenderView(); CreateRenderView(presentationParameters);
SetViewport(0, 0, presentationParameters.BackBufferWidth, presentationParameters.BackBufferHeight, 0f, 1f); SetViewport(0, 0, presentationParameters.BackBufferWidth, presentationParameters.BackBufferHeight, 0f, 1f);
// create the depth stencil buffer
Format depthFormat = DxFormatConverter.Translate(presentationParameters.DepthStencilFormat);
if (depthFormat != Format.Unknown)
CreateDepthStencilBuffer(depthFormat);
} }
WindowHelper.ResizeRenderWindow(presentationParameters); WindowHelper.ResizeRenderWindow(presentationParameters);
} }
#endregion #endregion
protected void CreateDepthStencilBuffer(Format depthFormat)
{
CreateDepthStencilBuffer(depthFormat, this.backBuffer.Description.Width, this.backBuffer.Description.Height, true);
}
#region GetBackBufferData (TODO) #region GetBackBufferData (TODO)
public void GetBackBufferData<T>(Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct public void GetBackBufferData<T>(Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct
{ {
throw new NotImplementedException(); this.backBuffer.GetData(0, rect, data, startIndex, elementCount);
} }
public void GetBackBufferData<T>(T[] data) where T : struct public void GetBackBufferData<T>(T[] data) where T : struct
{ {
throw new NotImplementedException(); this.backBuffer.GetData(data);
} }
public void GetBackBufferData<T>(T[] data, int startIndex, int elementCount) where T : struct public void GetBackBufferData<T>(T[] data, int startIndex, int elementCount) where T : struct
{ {
throw new NotImplementedException(); this.backBuffer.GetData(data, startIndex, elementCount);
} }
#endregion #endregion

View File

@ -22,17 +22,17 @@ namespace ANX.RenderSystem.Windows.DX11
protected IndexElementSize elementSize; protected IndexElementSize elementSize;
#region SetData #region SetData
public void SetData<S>(GraphicsDevice graphicsDevice, S[] data) where S : struct public void SetData<S>(S[] data) where S : struct
{ {
SetData<S>(graphicsDevice, data, 0, data.Length); SetData<S>(data, 0, data.Length);
} }
public void SetData<S>(GraphicsDevice graphicsDevice, S[] data, int startIndex, int elementCount) where S : struct public void SetData<S>(S[] data, int startIndex, int elementCount) where S : struct
{ {
SetData<S>(graphicsDevice, 0, data, startIndex, elementCount); SetData<S>(0, data, startIndex, elementCount);
} }
public void SetData<S>(GraphicsDevice graphicsDevice, int offsetInBytes, S[] data, int startIndex, int elementCount) public void SetData<S>(int offsetInBytes, S[] data, int startIndex, int elementCount)
where S : struct where S : struct
{ {
if (offsetInBytes + elementCount * Marshal.SizeOf(typeof(S)) > NativeBuffer.Description.SizeInBytes) if (offsetInBytes + elementCount * Marshal.SizeOf(typeof(S)) > NativeBuffer.Description.SizeInBytes)
@ -58,12 +58,15 @@ namespace ANX.RenderSystem.Windows.DX11
#region GetData #region GetData
public void GetData<S>(S[] data) where S : struct public void GetData<S>(S[] data) where S : struct
{ {
if (data == null)
throw new ArgumentNullException("data");
GetData(0, data, 0, data.Length); GetData(0, data, 0, data.Length);
} }
public void GetData<S>(S[] data, int startIndex, int elementCount) where S : struct public void GetData<S>(S[] data, int startIndex, int elementCount) where S : struct
{ {
GetData(0, data, 0, data.Length); GetData(0, data, startIndex, elementCount);
} }
public void GetData<S>(int offsetInBytes, S[] data, int startIndex, int elementCount) where S : struct public void GetData<S>(int offsetInBytes, S[] data, int startIndex, int elementCount) where S : struct

View File

@ -30,20 +30,20 @@ namespace ANX.RenderSystem.Windows.DX11
private int vertexStride; private int vertexStride;
#region SetData #region SetData
public void SetData<S>(GraphicsDevice graphicsDevice, S[] data) where S : struct public void SetData<S>(S[] data) where S : struct
{ {
if (data == null) if (data == null)
throw new ArgumentNullException("data"); throw new ArgumentNullException("data");
SetData<S>(graphicsDevice, data, 0, data.Length); SetData(data, 0, data.Length);
} }
public void SetData<S>(GraphicsDevice graphicsDevice, S[] data, int startIndex, int elementCount) where S : struct public void SetData<S>(S[] data, int startIndex, int elementCount) where S : struct
{ {
SetData<S>(graphicsDevice, 0, data, startIndex, elementCount); SetData<S>(0, data, startIndex, elementCount, vertexStride);
} }
public void SetData<S>(GraphicsDevice graphicsDevice, int offsetInBytes, S[] data, int startIndex, int elementCount) public void SetData<S>(int offsetInBytes, S[] data, int startIndex, int elementCount, int vertexStride)
where S : struct where S : struct
{ {
if (data == null) if (data == null)
@ -70,12 +70,6 @@ namespace ANX.RenderSystem.Windows.DX11
UnmapBuffer(); UnmapBuffer();
} }
} }
public void SetData<S>(GraphicsDevice graphicsDevice, int offsetInBytes, S[] data, int startIndex, int elementCount,
int vertexStride) where S : struct
{
throw new NotImplementedException();
}
#endregion #endregion
#region GetData #region GetData

View File

@ -60,11 +60,15 @@
<Compile Include="..\ANX.RenderSystem.DX.SharedSources\BufferHelper.cs"> <Compile Include="..\ANX.RenderSystem.DX.SharedSources\BufferHelper.cs">
<Link>BufferHelper.cs</Link> <Link>BufferHelper.cs</Link>
</Compile> </Compile>
<Compile Include="..\ANX.RenderSystem.DX.SharedSources\ResourceMapping.cs">
<Link>ResourceMapping.cs</Link>
</Compile>
<Compile Include="BlendState_DX10.cs" /> <Compile Include="BlendState_DX10.cs" />
<Compile Include="Creator.cs" /> <Compile Include="Creator.cs" />
<Compile Include="DepthStencilState_DX10.cs" /> <Compile Include="DepthStencilState_DX10.cs" />
<Compile Include="EffectParameter_DX10.cs" /> <Compile Include="EffectParameter_DX10.cs" />
<Compile Include="EffectTechnique_DX10.cs" /> <Compile Include="EffectTechnique_DX10.cs" />
<Compile Include="Extensions.cs" />
<Compile Include="GraphicsDeviceDX.cs" /> <Compile Include="GraphicsDeviceDX.cs" />
<Compile Include="Helpers\FormatConverter.cs" /> <Compile Include="Helpers\FormatConverter.cs" />
<Compile Include="DxIndexBuffer.cs" /> <Compile Include="DxIndexBuffer.cs" />

View File

@ -107,7 +107,7 @@ namespace ANX.RenderSystem.Windows.DX10
int mipCount) int mipCount)
{ {
PreventSystemChange(); PreventSystemChange();
return new DxTexture2D(graphics, width, height, surfaceFormat, mipCount); return new DxTexture2D((GraphicsDeviceDX)graphics.NativeDevice, width, height, surfaceFormat, mipCount);
} }
#endregion #endregion
@ -228,7 +228,7 @@ namespace ANX.RenderSystem.Windows.DX10
RenderTargetUsage usage) RenderTargetUsage usage)
{ {
PreventSystemChange(); PreventSystemChange();
return new RenderTarget2D_DX10(graphics, width, height, mipMap, preferredFormat, preferredDepthFormat, return new RenderTarget2D_DX10((GraphicsDeviceDX)graphics.NativeDevice, width, height, mipMap, preferredFormat, preferredDepthFormat,
preferredMultiSampleCount, usage); preferredMultiSampleCount, usage);
} }
#endregion #endregion

View File

@ -12,59 +12,67 @@ using SharpDX;
// For details see: http://anxframework.codeplex.com/license // For details see: http://anxframework.codeplex.com/license
using Dx10 = SharpDX.Direct3D10; using Dx10 = SharpDX.Direct3D10;
using System.Runtime.InteropServices;
namespace ANX.RenderSystem.Windows.DX10 namespace ANX.RenderSystem.Windows.DX10
{ {
public partial class DxTexture2D : INativeTexture2D public partial class DxTexture2D : INativeTexture2D
{ {
private Dx10.Texture2D NativeTextureStaging; private Dx10.Texture2D _nativeTexture;
public int Width public Dx10.ShaderResourceView NativeShaderResourceView { get; private set; }
public Dx10.Texture2D NativeTexture
{ {
get get { return _nativeTexture; }
set
{ {
return NativeTexture != null ? NativeTexture.Description.Width : 0; if (NativeShaderResourceView != null)
{
NativeShaderResourceView.Dispose();
NativeShaderResourceView = null;
}
_nativeTexture = value;
if (_nativeTexture != null)
{
NativeShaderResourceView = new Dx10.ShaderResourceView(this.GraphicsDevice.NativeDevice, NativeTexture);
#if DEBUG
NativeShaderResourceView.DebugName = _nativeTexture.DebugName + "_ShaderView";
#endif
}
} }
} }
public int Height protected DxTexture2D(GraphicsDeviceDX graphicsDevice)
{ {
get this.GraphicsDevice = graphicsDevice;
{
return NativeTexture != null ? NativeTexture.Description.Height : 0;
}
} }
internal Dx10.ShaderResourceView NativeShaderResourceView { get; set; } public DxTexture2D(GraphicsDeviceDX graphicsDevice, Dx10.Texture2D nativeTexture)
: this(graphicsDevice)
internal Dx10.Texture2D NativeTexture { get; set; }
#region Constructor
internal DxTexture2D(GraphicsDevice graphicsDevice, SurfaceFormat surfaceFormat)
: this(graphicsDevice, surfaceFormat, 1)
{ {
if (nativeTexture == null)
throw new ArgumentNullException("nativeTexture");
this.Width = nativeTexture.Description.Width;
this.Height = nativeTexture.Description.Height;
#if DEBUG
if (string.IsNullOrEmpty(nativeTexture.DebugName))
nativeTexture.DebugName = "Texture_" + textureCount++;
#endif
this.NativeTexture = nativeTexture;
this.surfaceFormat = DxFormatConverter.Translate(nativeTexture.Description.Format);
} }
public DxTexture2D(GraphicsDevice graphicsDevice, int width, int height, SurfaceFormat surfaceFormat, int mipCount) public DxTexture2D(GraphicsDeviceDX graphicsDevice, int width, int height, SurfaceFormat surfaceFormat, int mipCount)
: this(graphicsDevice, surfaceFormat, mipCount) : this(graphicsDevice)
{ {
Dx10.Device device = (graphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice; this.surfaceFormat = surfaceFormat;
if (useRenderTexture) Dx10.Device device = graphicsDevice.NativeDevice;
{
var descriptionStaging = new Dx10.Texture2DDescription()
{
Width = width,
Height = height,
MipLevels = mipCount,
ArraySize = mipCount,
Format = DxFormatConverter.Translate(surfaceFormat),
SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0),
Usage = Dx10.ResourceUsage.Staging,
CpuAccessFlags = Dx10.CpuAccessFlags.Write,
};
NativeTextureStaging = new Dx10.Texture2D(device, descriptionStaging);
}
var description = new Dx10.Texture2DDescription() var description = new Dx10.Texture2DDescription()
{ {
@ -74,88 +82,95 @@ namespace ANX.RenderSystem.Windows.DX10
ArraySize = mipCount, ArraySize = mipCount,
Format = DxFormatConverter.Translate(surfaceFormat), Format = DxFormatConverter.Translate(surfaceFormat),
SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0), SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0),
Usage = useRenderTexture ? Dx10.ResourceUsage.Default : Dx10.ResourceUsage.Dynamic, Usage = Dx10.ResourceUsage.Default,
BindFlags = Dx10.BindFlags.ShaderResource, BindFlags = Dx10.BindFlags.ShaderResource,
CpuAccessFlags = useRenderTexture ? Dx10.CpuAccessFlags.None : Dx10.CpuAccessFlags.Write, CpuAccessFlags = Dx10.CpuAccessFlags.None,
OptionFlags = Dx10.ResourceOptionFlags.None, OptionFlags = Dx10.ResourceOptionFlags.None,
}; };
NativeTexture = new Dx10.Texture2D(device, description); this.Width = width;
NativeShaderResourceView = new Dx10.ShaderResourceView(device, NativeTexture); this.Height = height;
} var texture = new Dx10.Texture2D(device, description);
#endregion #if DEBUG
texture.DebugName = "Texture_" + textureCount++;
#endif
NativeTexture = texture;
}
#region GetHashCode
public override int GetHashCode() public override int GetHashCode()
{ {
return NativeTexture.NativePointer.ToInt32(); return NativeTexture.NativePointer.ToInt32();
} }
#endregion
#region SaveAsJpeg (TODO)
public void SaveAsJpeg(Stream stream, int width, int height) public void SaveAsJpeg(Stream stream, int width, int height)
{ {
// TODO: handle width and height? // TODO: handle width and height?
Dx10.Texture2D.ToStream(NativeTexture, Dx10.ImageFileFormat.Jpg, stream); Dx10.Texture2D.ToStream(NativeTexture, Dx10.ImageFileFormat.Jpg, stream);
} }
#endregion
#region SaveAsPng (TODO)
public void SaveAsPng(Stream stream, int width, int height) public void SaveAsPng(Stream stream, int width, int height)
{ {
// TODO: handle width and height? // TODO: handle width and height?
Dx10.Texture2D.ToStream(NativeTexture, Dx10.ImageFileFormat.Png, stream); Dx10.Texture2D.ToStream(NativeTexture, Dx10.ImageFileFormat.Png, stream);
} }
#endregion
#region GetData (TODO) protected DataStream Map(Dx10.Texture2D texture, int subresource, int level, ResourceMapping mapping, out int pitch)
public void GetData<T>(T[] data) where T : struct
{ {
GetData(data, 0, data.Length); var dataRect = texture.Map(subresource, mapping.ToMapMode(), Dx10.MapFlags.None);
pitch = dataRect.Pitch;
bool read = (mapping & ResourceMapping.Read) != 0;
bool write = (mapping & ResourceMapping.Write) != 0;
return new DataStream(dataRect.DataPointer, SizeInBytes(level), read, write);
} }
public void GetData<T>(T[] data, int startIndex, int elementCount) where T : struct protected int GetSubresource(int level)
{ {
throw new NotImplementedException(); return Dx10.Texture2D.CalculateSubResourceIndex(level, 0, NativeTexture.Description.MipLevels);
} }
public void GetData<T>(int level, Framework.Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct protected void UpdateSubresource<T>(T[] data, Dx10.Texture2D texture, int level, Framework.Rectangle rect) where T : struct
{ {
throw new NotImplementedException(); var handle = GCHandle.Alloc(data, GCHandleType.Pinned);
try
{
GraphicsDevice.NativeDevice.UpdateSubresource(texture, this.GetSubresource(level), rect.ToResourceRegion(), handle.AddrOfPinnedObject(), GetPitch(level), 0);
}
finally
{
handle.Free();
}
} }
#endregion
#region MapWrite protected Dx10.Texture2D CreateStagingTexture(ResourceMapping mapping)
protected IntPtr MapWrite(int level)
{ {
tempSubresource = Dx10.Texture2D.CalculateSubResourceIndex(level, 0, mipCount); var description = new Dx10.Texture2DDescription()
var texture = useRenderTexture ? NativeTextureStaging : NativeTexture; {
DataRectangle rect = texture.Map(tempSubresource, useRenderTexture ? Dx10.MapMode.Write : Dx10.MapMode.WriteDiscard, CpuAccessFlags = mapping.ToCpuAccessFlags(),
Dx10.MapFlags.None); Usage = Dx10.ResourceUsage.Staging,
pitch = rect.Pitch; Format = NativeTexture.Description.Format,
return rect.DataPointer; Width = this.Width,
} Height = this.Height,
#endregion MipLevels = this.NativeTexture.Description.MipLevels,
SampleDescription = NativeTexture.Description.SampleDescription,
ArraySize = NativeTexture.Description.ArraySize,
OptionFlags = Dx10.ResourceOptionFlags.None,
#region MapRead };
protected IntPtr MapRead(int level)
{
tempSubresource = Dx10.Texture2D.CalculateSubResourceIndex(level, 0, mipCount);
var texture = useRenderTexture ? NativeTextureStaging : NativeTexture;
DataRectangle rect = texture.Map(tempSubresource, Dx10.MapMode.Read, Dx10.MapFlags.None);
pitch = rect.Pitch;
return rect.DataPointer;
}
#endregion
#region Unmap var texture = new Dx10.Texture2D(GraphicsDevice.NativeDevice, description);
protected void Unmap() #if DEBUG
texture.DebugName = NativeTexture.DebugName + "_Staging";
#endif
return texture;
}
protected void Unmap(Dx10.Texture2D texture, int subresource)
{ {
var texture = useRenderTexture ? NativeTextureStaging : NativeTexture; texture.Unmap(subresource);
texture.Unmap(tempSubresource); }
if (useRenderTexture)
texture.Device.CopyResource(NativeTextureStaging, NativeTexture);
}
#endregion
} }
} }

View File

@ -0,0 +1,42 @@
using SharpDX;
using SharpDX.Direct3D10;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dx10 = SharpDX.Direct3D10;
namespace ANX.RenderSystem.Windows.DX10
{
static class Extensions
{
public static Dx10.CpuAccessFlags ToCpuAccessFlags(this ResourceMapping mapping)
{
Dx10.CpuAccessFlags flags = Dx10.CpuAccessFlags.None;
if ((mapping & ResourceMapping.Read) != 0)
flags |= Dx10.CpuAccessFlags.Read;
if ((mapping & ResourceMapping.Write) != 0)
flags |= Dx10.CpuAccessFlags.Write;
return flags;
}
public static Dx10.MapMode ToMapMode(this ResourceMapping mapping)
{
return (Dx10.MapMode)mapping;
}
public static ResourceRegion ToResourceRegion(this Framework.Rectangle rect)
{
return new ResourceRegion()
{
Back = 1,
Bottom = rect.Bottom,
Front = 0,
Left = rect.Left,
Right = rect.Right,
Top = rect.Top,
};
}
}
}

View File

@ -20,13 +20,18 @@ namespace ANX.RenderSystem.Windows.DX10
{ {
public partial class GraphicsDeviceDX : INativeGraphicsDevice public partial class GraphicsDeviceDX : INativeGraphicsDevice
{ {
#if DEBUG
static int graphicsDeviceCount = 0;
static int swapChainCount = 0;
#endif
//Restricted to 8 from DirectX side.
const int MAX_RENDER_TARGETS = 8;
#region Private #region Private
private Dx10.Device nativeDevice; private Dx10.Device nativeDevice;
private Dx10.RenderTargetView renderView; private Dx10.RenderTargetView[] renderTargetView = new RenderTargetView[MAX_RENDER_TARGETS];
private Dx10.RenderTargetView[] renderTargetView = new Dx10.RenderTargetView[1]; private Dx10.DepthStencilView[] depthStencilView = new DepthStencilView[MAX_RENDER_TARGETS];
private Dx10.DepthStencilView depthStencilView; private RenderTarget2D_DX10 backBuffer;
private Dx10.Texture2D depthStencilBuffer;
private Dx10.Texture2D backBuffer;
internal EffectDX currentEffect; internal EffectDX currentEffect;
#endregion #endregion
@ -36,148 +41,79 @@ namespace ANX.RenderSystem.Windows.DX10
var desc = new SwapChainDescription() var desc = new SwapChainDescription()
{ {
BufferCount = 1, BufferCount = 1,
ModeDescription = new ModeDescription(presentationParameters.BackBufferWidth, ModeDescription = new ModeDescription(
presentationParameters.BackBufferHeight, new Rational(60, 1), presentationParameters.BackBufferWidth,
DxFormatConverter.Translate(presentationParameters.BackBufferFormat)), presentationParameters.BackBufferHeight,
new Rational(60, 1),
DxFormatConverter.Translate(presentationParameters.BackBufferFormat)
),
IsWindowed = true, IsWindowed = true,
OutputHandle = presentationParameters.DeviceWindowHandle, OutputHandle = presentationParameters.DeviceWindowHandle,
SampleDescription = new SampleDescription(1, 0), SampleDescription = new SampleDescription(1, 0),
SwapEffect = SwapEffect.Discard, SwapEffect = SwapEffect.Discard,
Usage = Usage.RenderTargetOutput Usage = Usage.RenderTargetOutput | Usage.ShaderInput,
}; };
// http://msdn.microsoft.com/en-us/library/windows/desktop/bb205068(v=vs.85).aspx // http://msdn.microsoft.com/en-us/library/windows/desktop/bb205068(v=vs.85).aspx
var flags = IsDebugMode ? Dx10.DeviceCreationFlags.Debug : Dx10.DeviceCreationFlags.None; #if DEBUG
var flags = Dx10.DeviceCreationFlags.Debug;
#else
var flags = Dx10.DeviceCreationFlags.None;
#endif
Dx10.Device.CreateWithSwapChain(Dx10.DriverType.Hardware, flags, desc, out nativeDevice, out swapChain); Dx10.Device.CreateWithSwapChain(Dx10.DriverType.Hardware, flags, desc, out nativeDevice, out swapChain);
#if DEBUG
nativeDevice.DebugName = "GraphicsDevice_" + graphicsDeviceCount++;
swapChain.DebugName = "SwapChain_" + swapChainCount++;
#endif
} }
#endregion #endregion
#region CreateRenderView #region CreateRenderView
protected void CreateRenderView() protected void CreateRenderView(PresentationParameters presentationParameters)
{ {
backBuffer = Dx10.Texture2D.FromSwapChain<Dx10.Texture2D>(swapChain, 0); backBuffer = new RenderTarget2D_DX10(this, Dx10.Texture2D.FromSwapChain<Dx10.Texture2D>(swapChain, 0), presentationParameters.DepthStencilFormat);
renderView = new Dx10.RenderTargetView(nativeDevice, backBuffer); this.SetRenderTargets();
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
}
#endregion
#region CreateDepthStencilBuffer
protected void CreateDepthStencilBuffer(Format depthFormat, int width, int height, bool setAndClearTarget)
{
if (this.depthStencilBuffer != null &&
this.depthStencilBuffer.Description.Format == depthFormat &&
this.depthStencilBuffer.Description.Width == width &&
this.depthStencilBuffer.Description.Height == height)
{
// a DepthStencilBuffer with the right format and the right size already exists -> nothing to do
return;
}
if (depthFormat == Format.Unknown)
{
// no DepthStencilBuffer to create... Old one was disposed already...
return;
}
var depthStencilViewDesc = new Dx10.DepthStencilViewDescription()
{
Format = depthFormat,
};
var depthStencilTextureDesc = new Dx10.Texture2DDescription()
{
Width = width,
Height = height,
MipLevels = 1,
ArraySize = 1,
Format = depthFormat,
SampleDescription = new SampleDescription(1, 0),
Usage = Dx10.ResourceUsage.Default,
BindFlags = Dx10.BindFlags.DepthStencil,
CpuAccessFlags = Dx10.CpuAccessFlags.None,
OptionFlags = Dx10.ResourceOptionFlags.None
};
this.depthStencilBuffer = new Dx10.Texture2D(nativeDevice, depthStencilTextureDesc);
this.depthStencilView = new Dx10.DepthStencilView(nativeDevice, this.depthStencilBuffer);
if (setAndClearTarget)
{
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
// this workaround is working but maybe not the best solution to issue #472
Clear(ClearOptions.DepthBuffer | ClearOptions.Stencil, Vector4.Zero, 1.0f, 0);
}
} }
#endregion #endregion
#region Clear #region Clear
public void Clear(ref Color color)
{
UpdateClearColorIfNeeded(ref color);
if (this.renderTargetView[0] == null)
nativeDevice.ClearRenderTargetView(this.renderView, this.clearColor);
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{
if (this.renderTargetView[i] == null)
{
break;
}
nativeDevice.ClearRenderTargetView(this.renderTargetView[i], this.clearColor);
}
}
}
public void Clear(ClearOptions options, Vector4 color, float depth, int stencil) public void Clear(ClearOptions options, Vector4 color, float depth, int stencil)
{ {
if ((options & ClearOptions.Target) == ClearOptions.Target) if ((options & ClearOptions.Target) == ClearOptions.Target)
{ {
// Clear a RenderTarget (or BackBuffer) // Clear a RenderTarget (or BackBuffer)
var clearColor = new SharpDX.Color4(color.X, color.Y, color.Z, color.W);
this.clearColor.Red = color.X; for (int i = 0; i < MAX_RENDER_TARGETS; i++)
this.clearColor.Green = color.Y;
this.clearColor.Blue = color.Z;
this.clearColor.Alpha = color.W;
this.lastClearColor = 0;
if (this.renderTargetView[0] == null)
{
nativeDevice.ClearRenderTargetView(this.renderView, this.clearColor);
}
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{ {
if (this.renderTargetView[i] == null) if (this.renderTargetView[i] == null)
break; break;
nativeDevice.ClearRenderTargetView(this.renderTargetView[i], this.clearColor); nativeDevice.ClearRenderTargetView(this.renderTargetView[i], clearColor);
}
} }
} }
if (this.depthStencilView != null) Dx10.DepthStencilClearFlags clearFlags;
{
if ((options | ClearOptions.Stencil | ClearOptions.DepthBuffer) == options) if ((options | ClearOptions.Stencil | ClearOptions.DepthBuffer) == options)
{ {
// Clear the stencil buffer clearFlags = Dx10.DepthStencilClearFlags.Depth | Dx10.DepthStencilClearFlags.Stencil;
nativeDevice.ClearDepthStencilView(this.depthStencilView, Dx10.DepthStencilClearFlags.Depth |
Dx10.DepthStencilClearFlags.Stencil, depth, (byte)stencil);
} }
else if ((options | ClearOptions.Stencil) == options) else if ((options | ClearOptions.Stencil) == options)
{ {
nativeDevice.ClearDepthStencilView(this.depthStencilView, Dx10.DepthStencilClearFlags.Stencil, depth, clearFlags = Dx10.DepthStencilClearFlags.Stencil;
(byte)stencil);
} }
else else
{ {
nativeDevice.ClearDepthStencilView(this.depthStencilView, Dx10.DepthStencilClearFlags.Depth, depth, clearFlags = Dx10.DepthStencilClearFlags.Depth;
(byte)stencil);
} }
for (int i = 0; i < MAX_RENDER_TARGETS; i++)
{
if (this.depthStencilView[i] == null)
break;
nativeDevice.ClearDepthStencilView(this.depthStencilView[i], clearFlags, depth, (byte)stencil);
} }
} }
#endregion #endregion
@ -199,8 +135,6 @@ namespace ANX.RenderSystem.Windows.DX10
int vertexCount = DxFormatConverter.CalculateVertexCount(primitiveType, primitiveCount); int vertexCount = DxFormatConverter.CalculateVertexCount(primitiveType, primitiveCount);
nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType); nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType);
//nativeDevice.Rasterizer.SetViewports(currentViewport);
//nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
if (indexBuffer != null) if (indexBuffer != null)
{ {
@ -225,8 +159,6 @@ namespace ANX.RenderSystem.Windows.DX10
int vertexCount = DxFormatConverter.CalculateVertexCount(primitiveType, primitiveCount); int vertexCount = DxFormatConverter.CalculateVertexCount(primitiveType, primitiveCount);
nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType); nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType);
//nativeDevice.Rasterizer.SetViewports(currentViewport);
//nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
for (int i = 0; i < technique.Description.PassCount; ++i) for (int i = 0; i < technique.Description.PassCount; ++i)
{ {
@ -239,7 +171,6 @@ namespace ANX.RenderSystem.Windows.DX10
} }
#endregion #endregion
#region DrawInstancedPrimitives
public void DrawInstancedPrimitives(PrimitiveType primitiveType, int baseVertex, int minVertexIndex, int numVertices, public void DrawInstancedPrimitives(PrimitiveType primitiveType, int baseVertex, int minVertexIndex, int numVertices,
int startIndex, int primitiveCount, int instanceCount, IndexBuffer indexBuffer) int startIndex, int primitiveCount, int instanceCount, IndexBuffer indexBuffer)
{ {
@ -247,8 +178,6 @@ namespace ANX.RenderSystem.Windows.DX10
int vertexCount = DxFormatConverter.CalculateVertexCount(primitiveType, primitiveCount); int vertexCount = DxFormatConverter.CalculateVertexCount(primitiveType, primitiveCount);
nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType); nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType);
//nativeDevice.Rasterizer.SetViewports(currentViewport);
//nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
if (indexBuffer != null) if (indexBuffer != null)
{ {
@ -264,9 +193,7 @@ namespace ANX.RenderSystem.Windows.DX10
nativeDevice.InputAssembler.InputLayout.Dispose(); nativeDevice.InputAssembler.InputLayout.Dispose();
nativeDevice.InputAssembler.InputLayout = null; nativeDevice.InputAssembler.InputLayout = null;
} }
#endregion
#region DrawUserIndexedPrimitives<T>
public void DrawUserIndexedPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int numVertices, public void DrawUserIndexedPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int numVertices,
Array indexData, int indexOffset, int primitiveCount, VertexDeclaration vertexDeclaration, Array indexData, int indexOffset, int primitiveCount, VertexDeclaration vertexDeclaration,
IndexElementSize indexFormat) where T : struct, IVertexType IndexElementSize indexFormat) where T : struct, IVertexType
@ -290,14 +217,12 @@ namespace ANX.RenderSystem.Windows.DX10
DrawIndexedPrimitives(primitiveType, 0, vertexOffset, numVertices, indexOffset, primitiveCount, indexBuffer); DrawIndexedPrimitives(primitiveType, 0, vertexOffset, numVertices, indexOffset, primitiveCount, indexBuffer);
} }
#endregion
#region DrawUserPrimitives<T>
public void DrawUserPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int primitiveCount, VertexDeclaration vertexDeclaration) where T : struct, IVertexType public void DrawUserPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int primitiveCount, VertexDeclaration vertexDeclaration) where T : struct, IVertexType
{ {
int vertexCount = vertexData.Length; int vertexCount = vertexData.Length;
DxVertexBuffer vb10 = new DxVertexBuffer(nativeDevice, vertexDeclaration, vertexCount, BufferUsage.None); DxVertexBuffer vb10 = new DxVertexBuffer(nativeDevice, vertexDeclaration, vertexCount, BufferUsage.None);
vb10.SetData<T>(null, vertexData); vb10.SetData<T>(vertexData);
Dx10.VertexBufferBinding nativeVertexBufferBindings = new Dx10.VertexBufferBinding(vb10.NativeBuffer, vertexDeclaration.VertexStride, 0); Dx10.VertexBufferBinding nativeVertexBufferBindings = new Dx10.VertexBufferBinding(vb10.NativeBuffer, vertexDeclaration.VertexStride, 0);
@ -313,8 +238,6 @@ namespace ANX.RenderSystem.Windows.DX10
nativeDevice.InputAssembler.InputLayout = layout; nativeDevice.InputAssembler.InputLayout = layout;
// Prepare All the stages // Prepare All the stages
nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType); nativeDevice.InputAssembler.PrimitiveTopology = DxFormatConverter.Translate(primitiveType);
//nativeDevice.Rasterizer.SetViewports(currentViewport);
//device.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
for (int i = 0; i < technique.Description.PassCount; ++i) for (int i = 0; i < technique.Description.PassCount; ++i)
{ {
@ -325,9 +248,7 @@ namespace ANX.RenderSystem.Windows.DX10
nativeDevice.InputAssembler.InputLayout.Dispose(); nativeDevice.InputAssembler.InputLayout.Dispose();
nativeDevice.InputAssembler.InputLayout = null; nativeDevice.InputAssembler.InputLayout = null;
} }
#endregion
#region SetupEffectForDraw
private Dx10.EffectTechnique SetupEffectForDraw() private Dx10.EffectTechnique SetupEffectForDraw()
{ {
//TODO: check for currentEffect null and throw exception //TODO: check for currentEffect null and throw exception
@ -339,7 +260,6 @@ namespace ANX.RenderSystem.Windows.DX10
return technique; return technique;
} }
#endregion
#region SetupInputLayout #region SetupInputLayout
private InputLayout SetupInputLayout(ShaderBytecode passSignature) private InputLayout SetupInputLayout(ShaderBytecode passSignature)
@ -488,120 +408,80 @@ namespace ANX.RenderSystem.Windows.DX10
#region SetRenderTargets #region SetRenderTargets
public void SetRenderTargets(params RenderTargetBinding[] renderTargets) public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{ {
if (renderTargets == null) if (renderTargets == null || renderTargets.Length == 0)
{ {
// reset the RenderTarget to backbuffer this.renderTargetView[0] = this.backBuffer.RenderTargetView;
CreateDepthStencilBuffer(this.depthStencilBuffer.Description.Format, this.backBuffer.Description.Width, this.backBuffer.Description.Height, false); this.depthStencilView[0] = this.backBuffer.DepthStencilView;
nativeDevice.OutputMerger.SetRenderTargets(1, new Dx10.RenderTargetView[] { this.renderView }, this.depthStencilView); //TODO: necessary?
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
nativeDevice.Rasterizer.SetViewports(new SharpDX.Viewport(0, 0, this.backBuffer.Description.Width, this.backBuffer.Description.Height));
// dispose the old views for (int i = 1; i < MAX_RENDER_TARGETS; i++)
for (int i = 0; i < renderTargetView.Length; i++)
{ {
if (renderTargetView[i] != null) this.renderTargetView[i] = null;
{ this.depthStencilView[i] = null;
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
} }
//To correctly unset renderTargets, the amount of given rendertargetViews must be max(#previousRenderTargets, #newRenderTargets),
//otherwise the old ones at the slots stay bound. For us it means, we try to unbind every possible previous slot.
nativeDevice.OutputMerger.SetRenderTargets(MAX_RENDER_TARGETS, this.renderTargetView, this.backBuffer.DepthStencilView);
nativeDevice.Rasterizer.SetViewports(new SharpDX.Viewport(0, 0, this.backBuffer.Width, this.backBuffer.Height));
} }
else else
{ {
int renderTargetCount = renderTargets.Length; int renderTargetCount = renderTargets.Length;
RenderTargetView[] renderTargetsToDelete = new RenderTargetView[renderTargetView.Length]; if (renderTargetCount > MAX_RENDER_TARGETS)
Array.Copy(renderTargetView, renderTargetsToDelete, renderTargetView.Length); throw new NotSupportedException(string.Format("{0} render targets are not supported. The maximum is {1}.", renderTargetCount, MAX_RENDER_TARGETS));
SharpDX.Viewport[] rtViewports = new SharpDX.Viewport[renderTargetCount]; SharpDX.Viewport[] rtViewports = new SharpDX.Viewport[renderTargetCount];
if (this.renderTargetView.Length != renderTargetCount) var firstRenderTarget = renderTargets[0].RenderTarget as RenderTarget2D;
for (int i = 1; i < renderTargetCount; i++)
{ {
this.renderTargetView = new Dx10.RenderTargetView[renderTargetCount]; var renderTarget = renderTargets[i].RenderTarget as RenderTarget2D;
if (renderTarget.Width != firstRenderTarget.Width || renderTarget.Height != firstRenderTarget.Height || renderTarget.MultiSampleCount != firstRenderTarget.MultiSampleCount)
throw new ArgumentException("The render targets don't match");
} }
int width = this.backBuffer.Description.Width;
int height = this.backBuffer.Description.Height;
for (int i = 0; i < renderTargetCount; i++) for (int i = 0; i < renderTargetCount; i++)
{ {
RenderTarget2D renderTarget = renderTargets[i].RenderTarget as RenderTarget2D; RenderTarget2D renderTarget = renderTargets[i].RenderTarget as RenderTarget2D;
//TODO: check if all render Targets have the same size
width = renderTarget.Width;
height = renderTarget.Height;
if (renderTarget != null)
{
RenderTarget2D_DX10 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX10; RenderTarget2D_DX10 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX10;
if (renderTargetView[i] != null) renderTargetView[i] = nativeRenderTarget.RenderTargetView;
depthStencilView[i] = nativeRenderTarget.DepthStencilView;
rtViewports[i] = new SharpDX.Viewport(0, 0, renderTarget.Width, renderTarget.Height);
}
for (int i = renderTargetCount; i < MAX_RENDER_TARGETS; i++)
{ {
renderTargetView[i].Dispose(); this.renderTargetView[i] = null;
this.depthStencilView[i] = null;
} }
renderTargetView[i] = new Dx10.RenderTargetView(nativeDevice, ((DxTexture2D)nativeRenderTarget).NativeShaderResourceView.Resource); nativeDevice.OutputMerger.SetRenderTargets(MAX_RENDER_TARGETS, renderTargetView, this.depthStencilView[0]);
rtViewports[i] = new SharpDX.Viewport(0, 0, width, height);
}
}
CreateDepthStencilBuffer(this.depthStencilBuffer.Description.Format, width, height, false);
nativeDevice.OutputMerger.SetRenderTargets(renderTargetCount, renderTargetView, this.depthStencilView);
nativeDevice.Rasterizer.SetViewports(rtViewports); nativeDevice.Rasterizer.SetViewports(rtViewports);
// free the old render target views...
for (int i = 0; i < renderTargetsToDelete.Length; i++)
{
if (renderTargetsToDelete[i] != null)
{
renderTargetsToDelete[i].Dispose();
renderTargetsToDelete[i] = null;
}
}
} }
} }
#endregion #endregion
#region DisposeRenderView protected void DisposeBackBuffer()
protected void DisposeRenderView() {
if (backBuffer != null)
{ {
renderView.Dispose();
renderView = null;
backBuffer.Dispose(); backBuffer.Dispose();
backBuffer = null; backBuffer = null;
} }
#endregion }
#region Dispose #region Dispose
public void Dispose() public void Dispose()
{ {
for (int i = 0; i < renderTargetView.Length; i++)
{
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
if (swapChain != null) if (swapChain != null)
{ {
DisposeRenderView(); DisposeBackBuffer();
swapChain.Dispose(); swapChain.Dispose();
swapChain = null; swapChain = null;
} }
if (this.depthStencilView != null)
{
this.depthStencilBuffer.Dispose();
this.depthStencilBuffer = null;
this.depthStencilView.Dispose();
this.depthStencilView = null;
}
//TODO: dispose everything else //TODO: dispose everything else
} }
#endregion #endregion

View File

@ -10,15 +10,52 @@ using ANX.Framework.NonXNA.RenderSystem;
// For details see: http://anxframework.codeplex.com/license // For details see: http://anxframework.codeplex.com/license
using Dx10 = SharpDX.Direct3D10; using Dx10 = SharpDX.Direct3D10;
using SharpDX.DXGI;
namespace ANX.RenderSystem.Windows.DX10 namespace ANX.RenderSystem.Windows.DX10
{ {
public class RenderTarget2D_DX10 : DxTexture2D, INativeRenderTarget2D, INativeTexture2D public class RenderTarget2D_DX10 : DxTexture2D, INativeRenderTarget2D, INativeTexture2D
{ {
#if DEBUG
static int depthStencilCount = 0;
static int renderTargetCount = 0;
#endif
Dx10.Texture2D depthStencil;
public Dx10.RenderTargetView RenderTargetView
{
get;
protected set;
}
public Dx10.DepthStencilView DepthStencilView
{
get;
protected set;
}
public RenderTarget2D_DX10(GraphicsDeviceDX graphics, Dx10.Texture2D texture, DepthFormat depthFormat)
: base(graphics, texture)
{
Dx10.Device device = graphics.NativeDevice;
NativeTexture = texture;
#if DEBUG
NativeTexture.DebugName = "RenderTarget_" + renderTargetCount++;
#endif
RenderTargetView = new Dx10.RenderTargetView(device, NativeTexture);
#if DEBUG
RenderTargetView.DebugName = NativeTexture.DebugName + "_RenderTargetView";
#endif
CreateDepthStencil(graphics, depthFormat, texture.Description.Width, texture.Description.Height);
}
#region Constructor #region Constructor
public RenderTarget2D_DX10(GraphicsDevice graphics, int width, int height, bool mipMap, SurfaceFormat surfaceFormat, public RenderTarget2D_DX10(GraphicsDeviceDX graphics, int width, int height, bool mipMap, SurfaceFormat surfaceFormat,
DepthFormat preferredDepthFormat, int preferredMultiSampleCount, RenderTargetUsage usage) DepthFormat preferredDepthFormat, int preferredMultiSampleCount, RenderTargetUsage usage)
: base(graphics, surfaceFormat) : base(graphics)
{ {
if (mipMap) if (mipMap)
throw new NotImplementedException("creating RenderTargets with mip map not yet implemented"); throw new NotImplementedException("creating RenderTargets with mip map not yet implemented");
@ -37,10 +74,71 @@ namespace ANX.RenderSystem.Windows.DX10
OptionFlags = Dx10.ResourceOptionFlags.None, OptionFlags = Dx10.ResourceOptionFlags.None,
}; };
Dx10.Device device = (GraphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice; Dx10.Device device = graphics.NativeDevice;
NativeTexture = new Dx10.Texture2D(device, description); var texture = new Dx10.Texture2D(device, description);
NativeShaderResourceView = new Dx10.ShaderResourceView(device, NativeTexture); #if DEBUG
texture.DebugName = "RenderTarget_" + renderTargetCount++;
#endif
this.Width = width;
this.Height = height;
NativeTexture = texture;
RenderTargetView = new Dx10.RenderTargetView(device, NativeTexture);
#if DEBUG
RenderTargetView.DebugName = NativeTexture.DebugName + "_RenderTargetView";
#endif
CreateDepthStencil(graphics, preferredDepthFormat, width, height);
} }
#endregion #endregion
private void CreateDepthStencil(GraphicsDeviceDX graphics, DepthFormat depthFormat, int width, int height)
{
//TODO: As we can only ever have 1 active DepthStencil and it's currently not possible to access it from the outside,
//we could share the depth stencils as long as they have the correct size and format.
if (depthFormat == DepthFormat.None)
return;
var dxDepthFormat = DxFormatConverter.Translate(depthFormat);
var depthStencilViewDesc = new Dx10.DepthStencilViewDescription()
{
Format = dxDepthFormat,
};
var depthStencilTextureDesc = new Dx10.Texture2DDescription()
{
Width = width,
Height = height,
MipLevels = 1,
ArraySize = 1,
Format = dxDepthFormat,
SampleDescription = new SampleDescription(1, 0),
Usage = Dx10.ResourceUsage.Default,
BindFlags = Dx10.BindFlags.DepthStencil,
CpuAccessFlags = Dx10.CpuAccessFlags.None,
OptionFlags = Dx10.ResourceOptionFlags.None
};
this.depthStencil = new Dx10.Texture2D(graphics.NativeDevice, depthStencilTextureDesc);
this.DepthStencilView = new Dx10.DepthStencilView(graphics.NativeDevice, this.depthStencil);
#if DEBUG
this.depthStencil.DebugName = "DepthStencil_" + depthStencilCount++;
this.DepthStencilView.DebugName = this.depthStencil.DebugName + "_View";
#endif
}
protected override void Dispose(bool managed)
{
base.Dispose(managed);
if (RenderTargetView != null)
{
RenderTargetView.Dispose();
}
if (DepthStencilView != null)
{
DepthStencilView.Dispose();
}
}
} }
} }

View File

@ -73,12 +73,16 @@
<Compile Include="..\ANX.RenderSystem.DX.SharedSources\BufferHelper.cs"> <Compile Include="..\ANX.RenderSystem.DX.SharedSources\BufferHelper.cs">
<Link>BufferHelper.cs</Link> <Link>BufferHelper.cs</Link>
</Compile> </Compile>
<Compile Include="..\ANX.RenderSystem.DX.SharedSources\ResourceMapping.cs">
<Link>ResourceMapping.cs</Link>
</Compile>
<Compile Include="BlendState_DX11.cs" /> <Compile Include="BlendState_DX11.cs" />
<Compile Include="Creator.cs" /> <Compile Include="Creator.cs" />
<Compile Include="DepthStencilState_DX11.cs" /> <Compile Include="DepthStencilState_DX11.cs" />
<Compile Include="EffectParameter_DX11.cs" /> <Compile Include="EffectParameter_DX11.cs" />
<Compile Include="EffectPass_DX11.cs" /> <Compile Include="EffectPass_DX11.cs" />
<Compile Include="EffectTechnique_DX11.cs" /> <Compile Include="EffectTechnique_DX11.cs" />
<Compile Include="Extensions.cs" />
<Compile Include="FormatConverter.cs" /> <Compile Include="FormatConverter.cs" />
<Compile Include="GraphicsDeviceDX.cs" /> <Compile Include="GraphicsDeviceDX.cs" />
<Compile Include="DxIndexBuffer.cs" /> <Compile Include="DxIndexBuffer.cs" />

View File

@ -86,7 +86,7 @@ namespace ANX.RenderSystem.Windows.DX11
VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage) VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage)
{ {
PreventSystemChange(); PreventSystemChange();
return new DxVertexBuffer(graphics, vertexDeclaration, vertexCount, usage); return new DxVertexBuffer((GraphicsDeviceDX)graphics.NativeDevice, vertexDeclaration, vertexCount, usage);
} }
#endregion #endregion
@ -233,7 +233,7 @@ namespace ANX.RenderSystem.Windows.DX11
int mipCount) int mipCount)
{ {
PreventSystemChange(); PreventSystemChange();
return new DxTexture2D(graphics, width, height, surfaceFormat, mipCount); return new DxTexture2D((GraphicsDeviceDX)graphics.NativeDevice, width, height, surfaceFormat, mipCount);
} }
#endregion #endregion
@ -243,7 +243,7 @@ namespace ANX.RenderSystem.Windows.DX11
RenderTargetUsage usage) RenderTargetUsage usage)
{ {
PreventSystemChange(); PreventSystemChange();
return new RenderTarget2D_DX11(graphics, width, height, mipMap, preferredFormat, preferredDepthFormat, return new RenderTarget2D_DX11((GraphicsDeviceDX)graphics.NativeDevice, width, height, mipMap, preferredFormat, preferredDepthFormat,
preferredMultiSampleCount, usage); preferredMultiSampleCount, usage);
} }
#endregion #endregion

View File

@ -17,56 +17,63 @@ namespace ANX.RenderSystem.Windows.DX11
{ {
public partial class DxTexture2D : INativeTexture2D public partial class DxTexture2D : INativeTexture2D
{ {
private Dx11.Texture2D NativeTextureStaging; private Dx11.Texture2D _nativeTexture;
public int Width public Dx11.ShaderResourceView NativeShaderResourceView { get; private set; }
public Dx11.Texture2D NativeTexture
{ {
get get { return _nativeTexture; }
set
{ {
return NativeTexture != null ? NativeTexture.Description.Width : 0; if (NativeShaderResourceView != null)
} {
NativeShaderResourceView.Dispose();
NativeShaderResourceView = null;
} }
public int Height _nativeTexture = value;
if (_nativeTexture != null)
{ {
get NativeShaderResourceView = new Dx11.ShaderResourceView(this.GraphicsDevice.NativeDevice.Device, NativeTexture);
{ #if DEBUG
return NativeTexture != null ? NativeTexture.Description.Height : 0; NativeShaderResourceView.DebugName = _nativeTexture.DebugName + "_ShaderView";
#endif
}
} }
} }
protected internal Dx11.ShaderResourceView NativeShaderResourceView { get; protected set; }
internal Dx11.Texture2D NativeTexture { get; set; }
#region Constructor #region Constructor
internal DxTexture2D(GraphicsDevice graphicsDevice, SurfaceFormat surfaceFormat) protected DxTexture2D(GraphicsDeviceDX graphicsDevice)
: this(graphicsDevice, surfaceFormat, 1)
{ {
this.GraphicsDevice = graphicsDevice;
} }
public DxTexture2D(GraphicsDevice graphicsDevice, int width, int height, SurfaceFormat surfaceFormat, int mipCount) public DxTexture2D(GraphicsDeviceDX graphicsDevice, Dx11.Texture2D nativeTexture)
: this(graphicsDevice, surfaceFormat, mipCount) : this(graphicsDevice)
{ {
Dx11.Device device = (graphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice.Device; if (nativeTexture == null)
var sampleDescription = new SharpDX.DXGI.SampleDescription(1, 0); throw new ArgumentNullException("nativeTexture");
if (useRenderTexture) this.Width = nativeTexture.Description.Width;
{ this.Height = nativeTexture.Description.Height;
var descriptionStaging = new Dx11.Texture2DDescription() #if DEBUG
{ if (string.IsNullOrEmpty(nativeTexture.DebugName))
Width = width, nativeTexture.DebugName = "Texture_" + textureCount++;
Height = height, #endif
MipLevels = mipCount, this.NativeTexture = nativeTexture;
ArraySize = mipCount,
Format = DxFormatConverter.Translate(surfaceFormat), this.surfaceFormat = DxFormatConverter.Translate(nativeTexture.Description.Format);
SampleDescription = sampleDescription,
Usage = Dx11.ResourceUsage.Staging,
CpuAccessFlags = Dx11.CpuAccessFlags.Write,
};
NativeTextureStaging = new Dx11.Texture2D(device, descriptionStaging);
} }
public DxTexture2D(GraphicsDeviceDX graphicsDevice, int width, int height, SurfaceFormat surfaceFormat, int mipCount)
: this(graphicsDevice)
{
this.surfaceFormat = surfaceFormat;
Dx11.Device device = graphicsDevice.NativeDevice.Device;
var description = new Dx11.Texture2DDescription() var description = new Dx11.Texture2DDescription()
{ {
Width = width, Width = width,
@ -74,14 +81,20 @@ namespace ANX.RenderSystem.Windows.DX11
MipLevels = mipCount, MipLevels = mipCount,
ArraySize = mipCount, ArraySize = mipCount,
Format = DxFormatConverter.Translate(surfaceFormat), Format = DxFormatConverter.Translate(surfaceFormat),
SampleDescription = sampleDescription, SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0),
Usage = useRenderTexture ? Dx11.ResourceUsage.Default : Dx11.ResourceUsage.Dynamic, Usage = Dx11.ResourceUsage.Default,
BindFlags = Dx11.BindFlags.ShaderResource, BindFlags = Dx11.BindFlags.ShaderResource,
CpuAccessFlags = useRenderTexture ? Dx11.CpuAccessFlags.None : Dx11.CpuAccessFlags.Write, CpuAccessFlags = Dx11.CpuAccessFlags.None,
OptionFlags = Dx11.ResourceOptionFlags.None,
}; };
NativeTexture = new Dx11.Texture2D(device, description); this.Width = width;
NativeShaderResourceView = new Dx11.ShaderResourceView(device, NativeTexture); this.Height = height;
var texture = new Dx11.Texture2D(device, description);
#if DEBUG
texture.DebugName = "Texture_" + textureCount++;
#endif
this.NativeTexture = texture;
} }
#endregion #endregion
@ -108,58 +121,51 @@ namespace ANX.RenderSystem.Windows.DX11
} }
#endregion #endregion
#region GetData (TODO) protected DataStream Map(Dx11.Texture2D texture, int subresource, int level, ResourceMapping mapping, out int pitch)
public void GetData<T>(T[] data) where T : struct
{ {
GetData(data, 0, data.Length); DataStream stream;
} var box = GraphicsDevice.NativeDevice.MapSubresource(texture, subresource, mapping.ToMapMode(), Dx11.MapFlags.None, out stream);
public void GetData<T>(T[] data, int startIndex, int elementCount) where T : struct
{
throw new NotImplementedException();
}
public void GetData<T>(int level, Framework.Rectangle? rect, T[] data, int startIndex, int elementCount) where T : struct
{
throw new NotImplementedException();
}
#endregion
#region MapWrite
protected IntPtr MapWrite(int level)
{
Dx11.DeviceContext context = (GraphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice;
tempSubresource = Dx11.Texture2D.CalculateSubResourceIndex(level, 0, mipCount);
var texture = useRenderTexture ? NativeTextureStaging : NativeTexture;
DataBox box = context.MapSubresource(texture, tempSubresource,
useRenderTexture ? Dx11.MapMode.Write : Dx11.MapMode.WriteDiscard, Dx11.MapFlags.None);
pitch = box.RowPitch; pitch = box.RowPitch;
return box.DataPointer; return stream;
} }
#endregion
#region MapRead protected int GetSubresource(int level)
protected IntPtr MapRead(int level)
{ {
Dx11.DeviceContext context = (GraphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice; return Dx11.Texture2D.CalculateSubResourceIndex(level, 0, NativeTexture.Description.MipLevels);
tempSubresource = Dx11.Texture2D.CalculateSubResourceIndex(level, 0, mipCount);
var texture = useRenderTexture ? NativeTextureStaging : NativeTexture;
DataBox box = context.MapSubresource(texture, tempSubresource, Dx11.MapMode.Read, Dx11.MapFlags.None);
pitch = box.RowPitch;
return box.DataPointer;
} }
#endregion
#region Unmap protected void UpdateSubresource<T>(T[] data, Dx11.Texture2D texture, int level, Framework.Rectangle rect) where T : struct
protected void Unmap()
{ {
Dx11.DeviceContext context = (GraphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice; GraphicsDevice.NativeDevice.UpdateSubresource(data, _nativeTexture, this.GetSubresource(level), GetPitch(level), 0, rect.ToResourceRegion());
var texture = useRenderTexture ? NativeTextureStaging : NativeTexture; }
context.UnmapSubresource(texture, tempSubresource);
if(useRenderTexture) protected Dx11.Texture2D CreateStagingTexture(ResourceMapping mapping)
context.CopyResource(NativeTextureStaging, NativeTexture); {
var description = new Dx11.Texture2DDescription()
{
CpuAccessFlags = mapping.ToCpuAccessFlags(),
Usage = Dx11.ResourceUsage.Staging,
Format = NativeTexture.Description.Format,
Width = this.Width,
Height = this.Height,
MipLevels = this.NativeTexture.Description.MipLevels,
SampleDescription = NativeTexture.Description.SampleDescription,
ArraySize = NativeTexture.Description.ArraySize,
OptionFlags = Dx11.ResourceOptionFlags.None,
};
var texture = new Dx11.Texture2D(GraphicsDevice.NativeDevice.Device, description);
#if DEBUG
texture.DebugName = NativeTexture.DebugName + "_Staging";
#endif
return texture;
}
protected void Unmap(Dx11.Texture2D texture, int subresource)
{
GraphicsDevice.NativeDevice.UnmapSubresource(texture, subresource);
} }
#endregion
} }
} }

View File

@ -29,10 +29,9 @@ namespace ANX.RenderSystem.Windows.DX11
private Dx.DeviceContext context; private Dx.DeviceContext context;
#region Constructor #region Constructor
public DxVertexBuffer(GraphicsDevice graphics, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage) public DxVertexBuffer(GraphicsDeviceDX graphics, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage)
{ {
var gd11 = graphics.NativeDevice as GraphicsDeviceDX; this.context = graphics.NativeDevice;
this.context = gd11 != null ? gd11.NativeDevice as Dx.DeviceContext : null;
InitializeBuffer(context.Device, vertexDeclaration, vertexCount, usage); InitializeBuffer(context.Device, vertexDeclaration, vertexCount, usage);
} }
@ -50,8 +49,6 @@ namespace ANX.RenderSystem.Windows.DX11
//TODO: translate and use usage //TODO: translate and use usage
if (device != null)
{
var description = new Dx.BufferDescription() var description = new Dx.BufferDescription()
{ {
Usage = Dx.ResourceUsage.Dynamic, Usage = Dx.ResourceUsage.Dynamic,
@ -63,7 +60,6 @@ namespace ANX.RenderSystem.Windows.DX11
NativeBuffer = new Dx.Buffer(device, description); NativeBuffer = new Dx.Buffer(device, description);
} }
}
#endregion #endregion
private SharpDX.DataStream MapBufferWrite() private SharpDX.DataStream MapBufferWrite()

View File

@ -0,0 +1,34 @@
using SharpDX;
using SharpDX.Direct3D11;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dx10 = SharpDX.Direct3D11;
namespace ANX.RenderSystem.Windows.DX11
{
static class Extensions
{
public static Dx10.CpuAccessFlags ToCpuAccessFlags(this ResourceMapping mapping)
{
Dx10.CpuAccessFlags flags = Dx10.CpuAccessFlags.None;
if ((mapping & ResourceMapping.Read) != 0)
flags |= Dx10.CpuAccessFlags.Read;
if ((mapping & ResourceMapping.Write) != 0)
flags |= Dx10.CpuAccessFlags.Write;
return flags;
}
public static Dx10.MapMode ToMapMode(this ResourceMapping mapping)
{
return (Dx10.MapMode)mapping;
}
public static ResourceRegion ToResourceRegion(this Framework.Rectangle rect)
{
return new ResourceRegion(rect.Left, rect.Top, 0, rect.Right, rect.Bottom, 1);
}
}
}

View File

@ -23,12 +23,17 @@ namespace ANX.RenderSystem.Windows.DX11
public partial class GraphicsDeviceDX : INativeGraphicsDevice public partial class GraphicsDeviceDX : INativeGraphicsDevice
{ {
#region Private #region Private
private DeviceContext nativeDevice; #if DEBUG
private RenderTargetView renderView; static int graphicsDeviceCount = 0;
private RenderTargetView[] renderTargetView = new RenderTargetView[1]; static int swapChainCount = 0;
private DepthStencilView depthStencilView; #endif
private Dx11.Texture2D depthStencilBuffer; //Restricted to 8 from DirectX side.
private Dx11.Texture2D backBuffer; const int MAX_RENDER_TARGETS = 8;
private Dx11.DeviceContext nativeDevice;
private Dx11.RenderTargetView[] renderTargetView = new RenderTargetView[MAX_RENDER_TARGETS];
private Dx11.DepthStencilView[] depthStencilView = new DepthStencilView[MAX_RENDER_TARGETS];
private RenderTarget2D_DX11 backBuffer;
internal EffectDX currentEffect; internal EffectDX currentEffect;
#endregion #endregion
@ -51,136 +56,67 @@ namespace ANX.RenderSystem.Windows.DX11
// Create Device and SwapChain // Create Device and SwapChain
Device dxDevice; Device dxDevice;
#if DEBUG
var flags = DeviceCreationFlags.Debug;
#else
var flags = DeviceCreationFlags.None;
#endif
// http://msdn.microsoft.com/en-us/library/windows/desktop/bb205068(v=vs.85).aspx // http://msdn.microsoft.com/en-us/library/windows/desktop/bb205068(v=vs.85).aspx
var flags = IsDebugMode ? DeviceCreationFlags.Debug : DeviceCreationFlags.None;
Device.CreateWithSwapChain(DriverType.Hardware, flags, desc, out dxDevice, out swapChain); Device.CreateWithSwapChain(DriverType.Hardware, flags, desc, out dxDevice, out swapChain);
#if DEBUG
nativeDevice.DebugName = "GraphicsDevice_" + graphicsDeviceCount++;
swapChain.DebugName = "SwapChain_" + swapChainCount++;
#endif
nativeDevice = dxDevice.ImmediateContext; nativeDevice = dxDevice.ImmediateContext;
} }
#endregion #endregion
#region CreateRenderView #region CreateRenderView
protected void CreateRenderView() protected void CreateRenderView(PresentationParameters presentationParameters)
{ {
backBuffer = Dx11.Texture2D.FromSwapChain<Dx11.Texture2D>(swapChain, 0); backBuffer = new RenderTarget2D_DX11(this, Dx11.Texture2D.FromSwapChain<Dx11.Texture2D>(swapChain, 0), presentationParameters.DepthStencilFormat);
renderView = new RenderTargetView(nativeDevice.Device, backBuffer); this.SetRenderTargets();
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
}
#endregion
#region CreateDepthStencilBuffer
protected void CreateDepthStencilBuffer(Format depthFormat, int width, int height, bool setAndClearTarget)
{
if (this.depthStencilBuffer != null &&
this.depthStencilBuffer.Description.Format == depthFormat &&
this.depthStencilBuffer.Description.Width == width &&
this.depthStencilBuffer.Description.Height == height)
{
// a DepthStencilBuffer with the right format and the right size already exists -> nothing to do
return;
}
if (depthFormat == Format.Unknown)
{
// no DepthStencilBuffer to create... Old one was disposed already...
return;
}
DepthStencilViewDescription depthStencilViewDesc = new DepthStencilViewDescription()
{
Format = depthFormat,
};
Texture2DDescription depthStencilTextureDesc = new Texture2DDescription()
{
Width = width,
Height = height,
MipLevels = 1,
ArraySize = 1,
Format = depthFormat,
SampleDescription = new SampleDescription(1, 0),
Usage = ResourceUsage.Default,
BindFlags = BindFlags.DepthStencil,
CpuAccessFlags = CpuAccessFlags.None,
OptionFlags = ResourceOptionFlags.None
};
this.depthStencilBuffer = new Dx11.Texture2D(nativeDevice.Device, depthStencilTextureDesc);
this.depthStencilView = new DepthStencilView(nativeDevice.Device, this.depthStencilBuffer);
if (setAndClearTarget)
{
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
Clear(ClearOptions.DepthBuffer | ClearOptions.Stencil, ANX.Framework.Vector4.Zero, 1.0f, 0); //TODO: this workaround is working but maybe not the best solution to issue #472
}
} }
#endregion #endregion
#region Clear #region Clear
public void Clear(ref Color color) public void Clear(ClearOptions options, Vector4 color, float depth, int stencil)
{
UpdateClearColorIfNeeded(ref color);
if (this.renderTargetView[0] == null)
nativeDevice.ClearRenderTargetView(this.renderView, this.clearColor);
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{
if (this.renderTargetView[i] == null)
{
break;
}
nativeDevice.ClearRenderTargetView(this.renderTargetView[i], this.clearColor);
}
}
}
public void Clear(ClearOptions options, ANX.Framework.Vector4 color, float depth, int stencil)
{ {
if ((options & ClearOptions.Target) == ClearOptions.Target) if ((options & ClearOptions.Target) == ClearOptions.Target)
{ {
// Clear a RenderTarget (or BackBuffer) // Clear a RenderTarget (or BackBuffer)
var clearColor = new SharpDX.Color4(color.X, color.Y, color.Z, color.W);
this.clearColor.Red = color.X; for (int i = 0; i < MAX_RENDER_TARGETS; i++)
this.clearColor.Green = color.Y;
this.clearColor.Blue = color.Z;
this.clearColor.Alpha = color.W;
this.lastClearColor = 0;
if (this.renderTargetView[0] == null)
nativeDevice.ClearRenderTargetView(this.renderView, this.clearColor);
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{ {
if (this.renderTargetView[i] == null) if (this.renderTargetView[i] == null)
break; break;
nativeDevice.ClearRenderTargetView(this.renderTargetView[i], this.clearColor); nativeDevice.ClearRenderTargetView(this.renderTargetView[i], clearColor);
}
} }
} }
if (this.depthStencilView != null) Dx11.DepthStencilClearFlags clearFlags;
{
if ((options | ClearOptions.Stencil | ClearOptions.DepthBuffer) == options) if ((options | ClearOptions.Stencil | ClearOptions.DepthBuffer) == options)
{ {
// Clear the stencil buffer clearFlags = Dx11.DepthStencilClearFlags.Depth | Dx11.DepthStencilClearFlags.Stencil;
nativeDevice.ClearDepthStencilView(this.depthStencilView, DepthStencilClearFlags.Depth |
DepthStencilClearFlags.Stencil, depth, (byte)stencil);
} }
else if ((options | ClearOptions.Stencil) == options) else if ((options | ClearOptions.Stencil) == options)
{ {
nativeDevice.ClearDepthStencilView(this.depthStencilView, DepthStencilClearFlags.Stencil, depth, clearFlags = Dx11.DepthStencilClearFlags.Stencil;
(byte)stencil);
} }
else else
{ {
nativeDevice.ClearDepthStencilView(this.depthStencilView, DepthStencilClearFlags.Depth, depth, (byte)stencil); clearFlags = Dx11.DepthStencilClearFlags.Depth;
} }
for (int i = 0; i < MAX_RENDER_TARGETS; i++)
{
if (this.depthStencilView[i] == null)
break;
nativeDevice.ClearDepthStencilView(this.depthStencilView[i], clearFlags, depth, (byte)stencil);
} }
} }
@ -304,8 +240,8 @@ namespace ANX.RenderSystem.Windows.DX11
public void DrawUserPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int primitiveCount, VertexDeclaration vertexDeclaration) where T : struct, IVertexType public void DrawUserPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int primitiveCount, VertexDeclaration vertexDeclaration) where T : struct, IVertexType
{ {
int vertexCount = vertexData.Length; int vertexCount = vertexData.Length;
DxVertexBuffer vb11 = new DxVertexBuffer(nativeDevice.Device, vertexDeclaration, vertexCount, BufferUsage.None); DxVertexBuffer vb11 = new DxVertexBuffer(this, vertexDeclaration, vertexCount, BufferUsage.None);
vb11.SetData<T>(null, vertexData); vb11.SetData<T>(vertexData);
Dx11.VertexBufferBinding nativeVertexBufferBindings = new Dx11.VertexBufferBinding(vb11.NativeBuffer, vertexDeclaration.VertexStride, 0); Dx11.VertexBufferBinding nativeVertexBufferBindings = new Dx11.VertexBufferBinding(vb11.NativeBuffer, vertexDeclaration.VertexStride, 0);
@ -504,119 +440,80 @@ namespace ANX.RenderSystem.Windows.DX11
#region SetRenderTargets #region SetRenderTargets
public void SetRenderTargets(params RenderTargetBinding[] renderTargets) public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{ {
if (renderTargets == null) if (renderTargets == null || renderTargets.Length == 0)
{ {
// reset the RenderTarget to backbuffer this.renderTargetView[0] = this.backBuffer.RenderTargetView;
CreateDepthStencilBuffer(this.depthStencilBuffer.Description.Format, this.backBuffer.Description.Width, this.backBuffer.Description.Height, false); this.depthStencilView[0] = this.backBuffer.DepthStencilView;
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
nativeDevice.Rasterizer.SetViewport(new SharpDX.Viewport(0, 0, this.backBuffer.Description.Width, this.backBuffer.Description.Height));
// dispose the old views for (int i = 1; i < MAX_RENDER_TARGETS; i++)
for (int i = 0; i < renderTargetView.Length; i++)
{ {
if (renderTargetView[i] != null) this.renderTargetView[i] = null;
{ this.depthStencilView[i] = null;
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
} }
//To correctly unset renderTargets, the amount of given rendertargetViews must be max(#previousRenderTargets, #newRenderTargets),
//otherwise the old ones at the slots stay bound. For us it means, we try to unbind every possible previous slot.
nativeDevice.OutputMerger.SetRenderTargets(this.backBuffer.DepthStencilView, this.renderTargetView);
nativeDevice.Rasterizer.SetViewport(new SharpDX.ViewportF(0, 0, this.backBuffer.Width, this.backBuffer.Height));
} }
else else
{ {
int renderTargetCount = renderTargets.Length; int renderTargetCount = renderTargets.Length;
RenderTargetView[] renderTargetsToDelete = new RenderTargetView[renderTargetView.Length]; if (renderTargetCount > MAX_RENDER_TARGETS)
Array.Copy(renderTargetView, renderTargetsToDelete, renderTargetView.Length); throw new NotSupportedException(string.Format("{0} render targets are not supported. The maximum is {1}.", renderTargetCount, MAX_RENDER_TARGETS));
SharpDX.ViewportF[] rtViewports = new SharpDX.ViewportF[renderTargetCount];
if (this.renderTargetView.Length != renderTargetCount) var rtViewports = new SharpDX.ViewportF[renderTargetCount];
var firstRenderTarget = renderTargets[0].RenderTarget as RenderTarget2D;
for (int i = 1; i < renderTargetCount; i++)
{ {
this.renderTargetView = new RenderTargetView[renderTargetCount]; var renderTarget = renderTargets[i].RenderTarget as RenderTarget2D;
if (renderTarget.Width != firstRenderTarget.Width || renderTarget.Height != firstRenderTarget.Height || renderTarget.MultiSampleCount != firstRenderTarget.MultiSampleCount)
throw new ArgumentException("The render targets don't match");
} }
int width = this.backBuffer.Description.Width;
int height = this.backBuffer.Description.Height;
for (int i = 0; i < renderTargetCount; i++) for (int i = 0; i < renderTargetCount; i++)
{ {
RenderTarget2D renderTarget = renderTargets[i].RenderTarget as RenderTarget2D; RenderTarget2D renderTarget = renderTargets[i].RenderTarget as RenderTarget2D;
var nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX11;
//TODO: check if all render Targets have the same size renderTargetView[i] = nativeRenderTarget.RenderTargetView;
width = renderTarget.Width; depthStencilView[i] = nativeRenderTarget.DepthStencilView;
height = renderTarget.Height; rtViewports[i] = new SharpDX.ViewportF(0, 0, renderTarget.Width, renderTarget.Height);
}
if (renderTarget != null) for (int i = renderTargetCount; i < MAX_RENDER_TARGETS; i++)
{ {
RenderTarget2D_DX11 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX11; this.renderTargetView[i] = null;
this.depthStencilView[i] = null;
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
} }
renderTargetView[i] = new RenderTargetView(nativeDevice.Device, ((DxTexture2D)nativeRenderTarget).NativeShaderResourceView.Resource); nativeDevice.OutputMerger.SetRenderTargets(this.depthStencilView[0], renderTargetView);
rtViewports[i] = new SharpDX.Viewport(0, 0, width, height);
}
}
CreateDepthStencilBuffer(this.depthStencilBuffer.Description.Format, width, height, false);
nativeDevice.OutputMerger.SetTargets(this.depthStencilView, this.renderTargetView);
nativeDevice.Rasterizer.SetViewports(rtViewports); nativeDevice.Rasterizer.SetViewports(rtViewports);
// free the old render target views...
for (int i = 0; i < renderTargetsToDelete.Length; i++)
{
if (renderTargetsToDelete[i] != null)
{
renderTargetsToDelete[i].Dispose();
renderTargetsToDelete[i] = null;
}
}
} }
} }
#endregion #endregion
#region DisposeRenderView protected void DisposeBackBuffer()
protected void DisposeRenderView() {
if (backBuffer != null)
{ {
renderView.Dispose();
renderView = null;
backBuffer.Dispose(); backBuffer.Dispose();
backBuffer = null; backBuffer = null;
} }
#endregion }
#region Dispose #region Dispose
public void Dispose() public void Dispose()
{ {
for (int i = 0; i < renderTargetView.Length; i++)
{
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
if (swapChain != null) if (swapChain != null)
{ {
DisposeRenderView(); DisposeBackBuffer();
swapChain.Dispose(); swapChain.Dispose();
swapChain = null; swapChain = null;
} }
if (this.depthStencilView != null)
{
this.depthStencilBuffer.Dispose();
this.depthStencilBuffer = null;
this.depthStencilView.Dispose();
this.depthStencilView = null;
}
//TODO: dispose everything else //TODO: dispose everything else
} }
#endregion #endregion

View File

@ -2,6 +2,8 @@
using System; using System;
using ANX.Framework.Graphics; using ANX.Framework.Graphics;
using ANX.Framework.NonXNA.RenderSystem; using ANX.Framework.NonXNA.RenderSystem;
using Dx11 = SharpDX.Direct3D11;
using SharpDX.DXGI;
#endregion #endregion
@ -13,14 +15,51 @@ namespace ANX.RenderSystem.Windows.DX11
{ {
public class RenderTarget2D_DX11 : DxTexture2D, INativeRenderTarget2D, INativeTexture2D public class RenderTarget2D_DX11 : DxTexture2D, INativeRenderTarget2D, INativeTexture2D
{ {
public RenderTarget2D_DX11(GraphicsDevice graphics, int width, int height, bool mipMap, SurfaceFormat surfaceFormat, #if DEBUG
static int depthStencilCount = 0;
static int renderTargetCount = 0;
#endif
Dx11.Texture2D depthStencil;
public Dx11.RenderTargetView RenderTargetView
{
get;
protected set;
}
public Dx11.DepthStencilView DepthStencilView
{
get;
protected set;
}
public RenderTarget2D_DX11(GraphicsDeviceDX graphics, Dx11.Texture2D texture, DepthFormat depthFormat)
: base(graphics, texture)
{
Dx11.Device device = graphics.NativeDevice.Device;
NativeTexture = texture;
#if DEBUG
NativeTexture.DebugName = "RenderTarget_" + renderTargetCount++;
#endif
RenderTargetView = new Dx11.RenderTargetView(device, NativeTexture);
#if DEBUG
RenderTargetView.DebugName = NativeTexture.DebugName + "_RenderTargetView";
#endif
CreateDepthStencil(graphics, depthFormat, texture.Description.Width, texture.Description.Height);
}
#region Constructor
public RenderTarget2D_DX11(GraphicsDeviceDX graphics, int width, int height, bool mipMap, SurfaceFormat surfaceFormat,
DepthFormat preferredDepthFormat, int preferredMultiSampleCount, RenderTargetUsage usage) DepthFormat preferredDepthFormat, int preferredMultiSampleCount, RenderTargetUsage usage)
: base(graphics, surfaceFormat) : base(graphics)
{ {
if (mipMap) if (mipMap)
throw new NotImplementedException("creating RenderTargets with mip map not yet implemented"); throw new NotImplementedException("creating RenderTargets with mip map not yet implemented");
var description = new SharpDX.Direct3D11.Texture2DDescription() var description = new Dx11.Texture2DDescription()
{ {
Width = width, Width = width,
Height = height, Height = height,
@ -28,15 +67,79 @@ namespace ANX.RenderSystem.Windows.DX11
ArraySize = 1, ArraySize = 1,
Format = DxFormatConverter.Translate(surfaceFormat), Format = DxFormatConverter.Translate(surfaceFormat),
SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0), SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0),
Usage = SharpDX.Direct3D11.ResourceUsage.Default, Usage = Dx11.ResourceUsage.Default,
BindFlags = SharpDX.Direct3D11.BindFlags.ShaderResource | SharpDX.Direct3D11.BindFlags.RenderTarget, BindFlags = Dx11.BindFlags.ShaderResource | Dx11.BindFlags.RenderTarget,
CpuAccessFlags = SharpDX.Direct3D11.CpuAccessFlags.None, CpuAccessFlags = Dx11.CpuAccessFlags.None,
OptionFlags = SharpDX.Direct3D11.ResourceOptionFlags.None, OptionFlags = Dx11.ResourceOptionFlags.None,
}; };
SharpDX.Direct3D11.DeviceContext device = (GraphicsDevice.NativeDevice as GraphicsDeviceDX).NativeDevice; Dx11.Device device = graphics.NativeDevice.Device;
NativeTexture = new SharpDX.Direct3D11.Texture2D(device.Device, description); var texture = new Dx11.Texture2D(device, description);
NativeShaderResourceView = new SharpDX.Direct3D11.ShaderResourceView(device.Device, NativeTexture); #if DEBUG
texture.DebugName = "RenderTarget_" + renderTargetCount++;
#endif
this.Width = width;
this.Height = height;
NativeTexture = texture;
RenderTargetView = new Dx11.RenderTargetView(device, NativeTexture);
#if DEBUG
RenderTargetView.DebugName = NativeTexture.DebugName + "_RenderTargetView";
#endif
CreateDepthStencil(graphics, preferredDepthFormat, width, height);
}
#endregion
private void CreateDepthStencil(GraphicsDeviceDX graphics, DepthFormat depthFormat, int width, int height)
{
//TODO: As we can only ever have 1 active DepthStencil and it's currently not possible to access it from the outside,
//we could share the depth stencils as long as they have the correct size and format.
if (depthFormat == DepthFormat.None)
return;
var dxDepthFormat = DxFormatConverter.Translate(depthFormat);
var depthStencilViewDesc = new Dx11.DepthStencilViewDescription()
{
Format = dxDepthFormat,
};
var device = graphics.NativeDevice.Device;
var depthStencilTextureDesc = new Dx11.Texture2DDescription()
{
Width = width,
Height = height,
MipLevels = 1,
ArraySize = 1,
Format = dxDepthFormat,
SampleDescription = new SampleDescription(1, 0),
Usage = Dx11.ResourceUsage.Default,
BindFlags = Dx11.BindFlags.DepthStencil,
CpuAccessFlags = Dx11.CpuAccessFlags.None,
OptionFlags = Dx11.ResourceOptionFlags.None
};
this.depthStencil = new Dx11.Texture2D(device, depthStencilTextureDesc);
this.DepthStencilView = new Dx11.DepthStencilView(device, this.depthStencil);
#if DEBUG
this.depthStencil.DebugName = "DepthStencil_" + depthStencilCount++;
this.DepthStencilView.DebugName = this.depthStencil.DebugName + "_View";
#endif
}
protected override void Dispose(bool managed)
{
base.Dispose(managed);
if (RenderTargetView != null)
{
RenderTargetView.Dispose();
}
if (DepthStencilView != null)
{
DepthStencilView.Dispose();
}
} }
} }
} }

View File

@ -22,6 +22,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>

View File

@ -1,58 +1,211 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012 # Visual Studio 2013
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}" VisualStudioVersion = 12.0.40629.0
EndProject MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasicEffectSample", "BasicEffectSample\BasicEffectSample.csproj", "{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BasicEffectSample", "BasicEffectSample\BasicEffectSample.csproj", "{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}"
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 EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU 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|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|x86 = Debug|x86
Debug|XBox 360 = Debug|XBox 360
DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU 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|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|x86 = DebugWin8|x86
DebugWin8|XBox 360 = DebugWin8|XBox 360
Release|Android = Release|Android
Release|Any CPU = Release|Any CPU 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|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|x86 = Release|x86
Release|XBox 360 = Release|XBox 360
ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU 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|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|x86 = ReleaseWin8|x86
ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Android.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|iOS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Linux.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Any CPU.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x86.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|XBox 360.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|Mixed Platforms.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Android.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x86.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Debug|x86.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Any CPU.Build.0 = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Any CPU.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|iOS.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Linux.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Mixed Platforms.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Mac OS.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|x86.ActiveCfg = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|x86.Build.0 = Debug|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Mixed Platforms.Build.0 = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Any CPU.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|PS Vita.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Windows.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.Build.0 = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Windows Metro.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x86.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|Windows Phone.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x86.Build.0 = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Any CPU.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.DebugWin8|XBox 360.ActiveCfg = Debug|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Android.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Mixed Platforms.Build.0 = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|x86.ActiveCfg = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Any CPU.Build.0 = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|x86.Build.0 = Release|x86 {D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|iOS.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Linux.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mac OS.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|PS Vita.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|x86.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.Release|XBox 360.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Android.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Any CPU.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Any CPU.Build.0 = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|iOS.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Linux.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Mac OS.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Mixed Platforms.Build.0 = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|PS Vita.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Windows.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|x86.ActiveCfg = Release|Any CPU
{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}.ReleaseWin8|XBox 360.ActiveCfg = Release|Any CPU
{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|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.Build.0 = Debug|Windows
{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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -1,65 +1,69 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}</ProjectGuid> <ProjectGuid>{D810F12D-6CE9-4755-AC6A-5DFEC7D1C782}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BasicEffectSample</RootNamespace> <RootNamespace>BasicEffectSample</RootNamespace>
<AssemblyName>BasicEffectSample</AssemblyName> <AssemblyName>BasicEffectSample</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile> <TargetFrameworkProfile>Client</TargetFrameworkProfile>
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaProfile>HiDef</XnaProfile>
<XnaCrossPlatformGroupID>e26e1d47-54d1-4ba4-87b9-492a55c54a4f</XnaCrossPlatformGroupID>
<XnaOutputType>Game</XnaOutputType>
<ApplicationIcon>anx.ico</ApplicationIcon> <ApplicationIcon>anx.ico</ApplicationIcon>
<Thumbnail>GameThumbnail.png</Thumbnail>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\x86\Debug</OutputPath> <OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants> <DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>false</XnaCompressContent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\x86\Release</OutputPath> <OutputPath>bin\Release</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants> <DefineConstants>TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>true</XnaCompressContent> </PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ANX.Framework, Version=0.6.0.37138, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\Debug\ANX.Framework.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.Windows.XInput, Version=0.6.5.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll</HintPath>
</Reference>
<Reference Include="ANX.InputSystem.Standard, Version=0.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\Debug\ANX.InputSystem.Standard.dll</HintPath>
</Reference>
<Reference Include="ANX.PlatformSystem.Windows, Version=0.75.1.35539, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\Debug\ANX.PlatformSystem.Windows.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX10, Version=0.7.28.39390, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Windows.XAudio, Version=0.4.2.39947, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Windows.XAudio.dll</HintPath>
</Reference>
<Reference Include="mscorlib"> <Reference Include="mscorlib">
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
@ -109,41 +113,6 @@
<Content Include="anx.ico" /> <Content Include="anx.ico" />
<Content Include="GameThumbnail.png" /> <Content Include="GameThumbnail.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
<Name>ANX.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.Windows.XInput\ANX.InputDevices.Windows.XInput.csproj">
<Project>{60D08399-244F-46A3-91F1-4CFD26D961A3}</Project>
<Name>ANX.InputDevices.Windows.XInput</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputSystem.Standard\ANX.InputSystem.Standard.csproj">
<Project>{49066074-3B7B-4A55-B122-6BD33AB73558}</Project>
<Name>ANX.InputSystem.Standard</Name>
</ProjectReference>
<ProjectReference Include="..\..\PlatformSystems\ANX.PlatformSystem.Windows\ANX.PlatformSystem.Windows.csproj">
<Project>{068EB2E9-963C-4E1B-8831-E25011F11FFE}</Project>
<Name>ANX.PlatformSystem.Windows</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.RenderSystem.Windows.DX10</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX11\ANX.RenderSystem.Windows.DX11.csproj">
<Project>{B30DE9C2-0926-46B6-8351-9AF276C472D5}</Project>
<Name>ANX.RenderSystem.Windows.DX11</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.Windows.XAudio\ANX.SoundSystem.Windows.XAudio.csproj">
<Project>{6A582788-C4D2-410C-96CD-177F75712D65}</Project>
<Name>ANX.SoundSystem.Windows.XAudio</Name>
</ProjectReference>
<ProjectReference Include="..\SampleContent\SampleContent.contentproj">
<Project>{FA6E229D-4504-47B1-8A23-2D3FCC13F778}</Project>
<Name>SampleContent</Name>
<XnaReferenceType>Content</XnaReferenceType>
</ProjectReference>
</ItemGroup>
<ItemGroup> <ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible> <Visible>False</Visible>
@ -165,14 +134,11 @@
<ProductName>Windows Installer 3.1</ProductName> <ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Xna.Framework.4.0">
<Visible>False</Visible>
<ProductName>Microsoft XNA Framework Redistributable 4.0</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" /> <PropertyGroup>
<PostBuildEvent>xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y</PostBuildEvent>
</PropertyGroup>
<!-- <!--
To modify your build process, add your task inside one of the targets below and uncomment it. To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,58 +1,211 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012 # Visual Studio 2013
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}" VisualStudioVersion = 12.0.40629.0
EndProject MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DualTextureSample", "DualTextureSample\DualTextureSample.csproj", "{9259CC4E-AE6B-403C-8FAB-2408448C3935}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DualTextureSample", "DualTextureSample\DualTextureSample.csproj", "{9259CC4E-AE6B-403C-8FAB-2408448C3935}"
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 EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU 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|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|x86 = Debug|x86
Debug|XBox 360 = Debug|XBox 360
DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU 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|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|x86 = DebugWin8|x86
DebugWin8|XBox 360 = DebugWin8|XBox 360
Release|Android = Release|Android
Release|Any CPU = Release|Any CPU 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|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|x86 = Release|x86
Release|XBox 360 = Release|XBox 360
ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU 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|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|x86 = ReleaseWin8|x86
ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Android.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|iOS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Linux.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Any CPU.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x86.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|XBox 360.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|Mixed Platforms.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Android.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x86.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Debug|x86.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Any CPU.Build.0 = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Any CPU.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|iOS.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Linux.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Mixed Platforms.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Mac OS.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|x86.ActiveCfg = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|x86.Build.0 = Debug|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Mixed Platforms.Build.0 = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Any CPU.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|PS Vita.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Windows.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.Build.0 = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Windows Metro.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x86.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|Windows Phone.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x86.Build.0 = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Any CPU.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.DebugWin8|XBox 360.ActiveCfg = Debug|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Android.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Mixed Platforms.Build.0 = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|x86.ActiveCfg = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Any CPU.Build.0 = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|x86.Build.0 = Release|x86 {9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|iOS.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Linux.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mac OS.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|PS Vita.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|x86.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.Release|XBox 360.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Android.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Any CPU.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Any CPU.Build.0 = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|iOS.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Linux.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Mac OS.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Mixed Platforms.Build.0 = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|PS Vita.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Windows.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|x86.ActiveCfg = Release|Any CPU
{9259CC4E-AE6B-403C-8FAB-2408448C3935}.ReleaseWin8|XBox 360.ActiveCfg = Release|Any CPU
{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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -1,40 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{9259CC4E-AE6B-403C-8FAB-2408448C3935}</ProjectGuid> <ProjectGuid>{9259CC4E-AE6B-403C-8FAB-2408448C3935}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DualTextureSample</RootNamespace> <RootNamespace>DualTextureSample</RootNamespace>
<AssemblyName>DualTextureSample</AssemblyName> <AssemblyName>DualTextureSample</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile> <TargetFrameworkProfile>Client</TargetFrameworkProfile>
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaProfile>HiDef</XnaProfile>
<XnaCrossPlatformGroupID>1b2a6ff3-a41f-495f-8a04-05e3c7ca1efe</XnaCrossPlatformGroupID>
<XnaOutputType>Game</XnaOutputType>
<ApplicationIcon>anx.ico</ApplicationIcon> <ApplicationIcon>anx.ico</ApplicationIcon>
<Thumbnail>GameThumbnail.png</Thumbnail>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
@ -44,10 +23,9 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>false</XnaCompressContent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\x86\Release</OutputPath> <OutputPath>bin\x86\Release</OutputPath>
@ -56,10 +34,30 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>true</XnaCompressContent> </PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ANX.Framework">
<HintPath>..\..\bin\Debug\ANX.Framework.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.Windows.XInput">
<HintPath>..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll</HintPath>
</Reference>
<Reference Include="ANX.InputSystem.Standard">
<HintPath>..\..\bin\Debug\ANX.InputSystem.Standard.dll</HintPath>
</Reference>
<Reference Include="ANX.PlatformSystem.Windows">
<HintPath>..\..\bin\Debug\ANX.PlatformSystem.Windows.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX10">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Windows.XAudio">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Windows.XAudio.dll</HintPath>
</Reference>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System"> <Reference Include="System">
<Private>False</Private> <Private>False</Private>
@ -77,45 +75,6 @@
<Content Include="Game.ico" /> <Content Include="Game.ico" />
<Content Include="GameThumbnail.png" /> <Content Include="GameThumbnail.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
<Name>ANX.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.Windows.XInput\ANX.InputDevices.Windows.XInput.csproj">
<Project>{60D08399-244F-46A3-91F1-4CFD26D961A3}</Project>
<Name>ANX.InputDevices.Windows.XInput</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputSystem.Standard\ANX.InputSystem.Standard.csproj">
<Project>{49066074-3B7B-4A55-B122-6BD33AB73558}</Project>
<Name>ANX.InputSystem.Standard</Name>
</ProjectReference>
<ProjectReference Include="..\..\PlatformSystems\ANX.PlatformSystem.Windows\ANX.PlatformSystem.Windows.csproj">
<Project>{068EB2E9-963C-4E1B-8831-E25011F11FFE}</Project>
<Name>ANX.PlatformSystem.Windows</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.RenderSystem.Windows.DX10</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX11\ANX.RenderSystem.Windows.DX11.csproj">
<Project>{B30DE9C2-0926-46B6-8351-9AF276C472D5}</Project>
<Name>ANX.RenderSystem.Windows.DX11</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.OpenAL\ANX.SoundSystem.OpenAL.csproj">
<Project>{14EF49AB-6D3F-458D-9D5C-D120B86EDD7A}</Project>
<Name>ANX.SoundSystem.OpenAL</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.Windows.XAudio\ANX.SoundSystem.Windows.XAudio.csproj">
<Project>{6A582788-C4D2-410C-96CD-177F75712D65}</Project>
<Name>ANX.SoundSystem.Windows.XAudio</Name>
</ProjectReference>
<ProjectReference Include="..\SampleContent\SampleContent.contentproj">
<Project>{FA6E229D-4504-47B1-8A23-2D3FCC13F778}</Project>
<Name>SampleContent</Name>
<XnaReferenceType>Content</XnaReferenceType>
</ProjectReference>
</ItemGroup>
<ItemGroup> <ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible> <Visible>False</Visible>
@ -137,14 +96,11 @@
<ProductName>Windows Installer 3.1</ProductName> <ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Xna.Framework.4.0">
<Visible>False</Visible>
<ProductName>Microsoft XNA Framework Redistributable 4.0</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" /> <PropertyGroup>
<PostBuildEvent>xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y</PostBuildEvent>
</PropertyGroup>
<!-- <!--
To modify your build process, add your task inside one of the targets below and uncomment it. To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,58 +1,208 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012 # Visual Studio 2013
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}" VisualStudioVersion = 12.0.40629.0
EndProject MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeyboardSample", "KeyboardSample\KeyboardSample.csproj", "{05233BB1-444F-43F6-A3DF-B82AA924E094}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeyboardSample", "KeyboardSample\KeyboardSample.csproj", "{05233BB1-444F-43F6-A3DF-B82AA924E094}"
EndProject EndProject
Project("{75EFAE60-726E-430F-8661-4CF9ABD1306C}") = "SampleContent", "SampleContent\SampleContent.cproj", "{75EFAE60-726E-430F-8661-4CF9ABD1306C}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU 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|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|x86 = Debug|x86
Debug|XBox 360 = Debug|XBox 360
DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU 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|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|x86 = DebugWin8|x86
DebugWin8|XBox 360 = DebugWin8|XBox 360
Release|Android = Release|Android
Release|Any CPU = Release|Any CPU 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|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|x86 = Release|x86
Release|XBox 360 = Release|XBox 360
ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU 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|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|x86 = ReleaseWin8|x86
ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Android.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|iOS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Linux.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Any CPU.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x86.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|XBox 360.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|Mixed Platforms.Build.0 = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Android.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x86.ActiveCfg = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Debug|x86.Build.0 = Debug|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Any CPU.Build.0 = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Any CPU.ActiveCfg = DebugWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|iOS.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Mixed Platforms.ActiveCfg = DebugWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Linux.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Mixed Platforms.Build.0 = DebugWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Mac OS.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|x86.ActiveCfg = DebugWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|x86.Build.0 = DebugWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Mixed Platforms.Build.0 = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Any CPU.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|PS Vita.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Windows.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.Build.0 = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Windows Metro.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x86.ActiveCfg = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|Windows Phone.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x86.Build.0 = Release|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Any CPU.ActiveCfg = ReleaseWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.DebugWin8|XBox 360.ActiveCfg = Debug|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Mixed Platforms.ActiveCfg = ReleaseWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Android.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Mixed Platforms.Build.0 = ReleaseWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Any CPU.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|x86.ActiveCfg = ReleaseWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Any CPU.Build.0 = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|x86.Build.0 = ReleaseWin8|x86 {05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|iOS.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Linux.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mac OS.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|PS Vita.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|x86.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.Release|XBox 360.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Android.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Any CPU.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Any CPU.Build.0 = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|iOS.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Linux.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Mac OS.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Mixed Platforms.Build.0 = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|PS Vita.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Windows.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|x86.ActiveCfg = Release|Any CPU
{05233BB1-444F-43F6-A3DF-B82AA924E094}.ReleaseWin8|XBox 360.ActiveCfg = Release|Any CPU
{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|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.Build.0 = Debug|Windows
{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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -1,89 +1,66 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{05233BB1-444F-43F6-A3DF-B82AA924E094}</ProjectGuid> <ProjectGuid>{05233BB1-444F-43F6-A3DF-B82AA924E094}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>KeyboardSample</RootNamespace> <RootNamespace>KeyboardSample</RootNamespace>
<AssemblyName>KeyboardSample</AssemblyName> <AssemblyName>KeyboardSample</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile> <TargetFrameworkProfile>Client</TargetFrameworkProfile>
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaProfile>HiDef</XnaProfile>
<XnaCrossPlatformGroupID>fb0ced7e-f67c-4fcd-96bd-6f4be5b93eac</XnaCrossPlatformGroupID>
<XnaOutputType>Game</XnaOutputType>
<ApplicationIcon>anx.ico</ApplicationIcon> <ApplicationIcon>anx.ico</ApplicationIcon>
<Thumbnail>GameThumbnail.png</Thumbnail>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\x86\Debug</OutputPath> <OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants> <DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>false</XnaCompressContent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\x86\Release</OutputPath> <OutputPath>bin\Release</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants> <DefineConstants>TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>true</XnaCompressContent>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWin8|x86'">
<OutputPath>bin\x86\DebugWin8\</OutputPath>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWin8|x86'">
<OutputPath>bin\x86\ReleaseWin8\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize>
<NoStdLib>true</NoStdLib>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisLogFile>bin\x86\Release\KeyboardSample.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<StartupObject>KeyboardSample.Program</StartupObject> <StartupObject>KeyboardSample.Program</StartupObject>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ANX.Framework">
<HintPath>..\..\bin\Debug\ANX.Framework.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.Windows.XInput">
<HintPath>..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll</HintPath>
</Reference>
<Reference Include="ANX.InputSystem.Standard">
<HintPath>..\..\bin\Debug\ANX.InputSystem.Standard.dll</HintPath>
</Reference>
<Reference Include="ANX.PlatformSystem.Windows">
<HintPath>..\..\bin\Debug\ANX.PlatformSystem.Windows.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX10">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Windows.XAudio">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Windows.XAudio.dll</HintPath>
</Reference>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
@ -102,37 +79,6 @@
<XnaPlatformSpecific>true</XnaPlatformSpecific> <XnaPlatformSpecific>true</XnaPlatformSpecific>
</Content> </Content>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
<Name>ANX.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.Windows.XInput\ANX.InputDevices.Windows.XInput.csproj">
<Project>{60D08399-244F-46A3-91F1-4CFD26D961A3}</Project>
<Name>ANX.InputDevices.Windows.XInput</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputSystem.Standard\ANX.InputSystem.Standard.csproj">
<Project>{49066074-3B7B-4A55-B122-6BD33AB73558}</Project>
<Name>ANX.InputSystem.Standard</Name>
</ProjectReference>
<ProjectReference Include="..\..\PlatformSystems\ANX.PlatformSystem.Windows\ANX.PlatformSystem.Windows.csproj">
<Project>{068EB2E9-963C-4E1B-8831-E25011F11FFE}</Project>
<Name>ANX.PlatformSystem.Windows</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.RenderSystem.Windows.DX10</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.Windows.XAudio\ANX.SoundSystem.Windows.XAudio.csproj">
<Project>{6A582788-C4D2-410C-96CD-177F75712D65}</Project>
<Name>ANX.SoundSystem.Windows.XAudio</Name>
</ProjectReference>
<ProjectReference Include="..\SampleContent\SampleContent.contentproj">
<Project>{FA6E229D-4504-47B1-8A23-2D3FCC13F778}</Project>
<Name>SampleContent</Name>
<XnaReferenceType>Content</XnaReferenceType>
</ProjectReference>
</ItemGroup>
<ItemGroup> <ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client"> <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible> <Visible>False</Visible>
@ -154,14 +100,11 @@
<ProductName>Windows Installer 3.1</ProductName> <ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Xna.Framework.4.0">
<Visible>False</Visible>
<ProductName>Microsoft XNA Framework Redistributable 4.0</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" /> <PropertyGroup>
<PostBuildEvent>xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y</PostBuildEvent>
</PropertyGroup>
<!-- <!--
To modify your build process, add your task inside one of the targets below and uncomment it. To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,58 +1,211 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012 # Visual Studio 2013
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleContent", "SampleContent\SampleContent.contentproj", "{FA6E229D-4504-47B1-8A23-2D3FCC13F778}" VisualStudioVersion = 12.0.40629.0
EndProject MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiRenderTarget", "MultiRenderTarget\MultiRenderTarget.csproj", "{9C9C6245-35C2-4230-8E17-9038A228227F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiRenderTarget", "MultiRenderTarget\MultiRenderTarget.csproj", "{9C9C6245-35C2-4230-8E17-9038A228227F}"
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 EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Android = Debug|Android
Debug|Any CPU = Debug|Any CPU 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|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|x86 = Debug|x86
Debug|XBox 360 = Debug|XBox 360
DebugWin8|Android = DebugWin8|Android
DebugWin8|Any CPU = DebugWin8|Any CPU 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|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|x86 = DebugWin8|x86
DebugWin8|XBox 360 = DebugWin8|XBox 360
Release|Android = Release|Android
Release|Any CPU = Release|Any CPU 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|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|x86 = Release|x86
Release|XBox 360 = Release|XBox 360
ReleaseWin8|Android = ReleaseWin8|Android
ReleaseWin8|Any CPU = ReleaseWin8|Any CPU 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|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|x86 = ReleaseWin8|x86
ReleaseWin8|XBox 360 = ReleaseWin8|XBox 360
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Android.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Debug|x86.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|iOS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Linux.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.DebugWin8|x86.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mac OS.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Any CPU.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.Release|x86.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|PS Vita.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Any CPU.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows Metro.ActiveCfg = Debug|Any CPU
{FA6E229D-4504-47B1-8A23-2D3FCC13F778}.ReleaseWin8|x86.ActiveCfg = Debug|Any CPU {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Windows Phone.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Any CPU.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x86.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|XBox 360.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|Mixed Platforms.Build.0 = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Android.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x86.ActiveCfg = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Any CPU.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Debug|x86.Build.0 = Debug|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Any CPU.Build.0 = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Any CPU.ActiveCfg = DebugWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|iOS.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Mixed Platforms.ActiveCfg = DebugWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Linux.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Mixed Platforms.Build.0 = DebugWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Mac OS.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|x86.ActiveCfg = DebugWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Mixed Platforms.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|x86.Build.0 = DebugWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Mixed Platforms.Build.0 = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Any CPU.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|PS Vita.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Windows.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.Build.0 = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Windows Metro.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x86.ActiveCfg = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|Windows Phone.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x86.Build.0 = Release|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|x86.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Any CPU.ActiveCfg = ReleaseWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.DebugWin8|XBox 360.ActiveCfg = Debug|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Mixed Platforms.ActiveCfg = ReleaseWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Android.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Mixed Platforms.Build.0 = ReleaseWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|x86.ActiveCfg = ReleaseWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Any CPU.Build.0 = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|x86.Build.0 = ReleaseWin8|x86 {9C9C6245-35C2-4230-8E17-9038A228227F}.Release|iOS.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Linux.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mac OS.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|PS Vita.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows Metro.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|Windows Phone.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|x86.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.Release|XBox 360.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Android.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Any CPU.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Any CPU.Build.0 = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|iOS.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Linux.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Mac OS.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Mixed Platforms.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Mixed Platforms.Build.0 = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|PS Vita.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Windows.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Windows Metro.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|Windows Phone.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|x86.ActiveCfg = Release|Any CPU
{9C9C6245-35C2-4230-8E17-9038A228227F}.ReleaseWin8|XBox 360.ActiveCfg = Release|Any CPU
{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|Windows
{75EFAE60-726E-430F-8661-4CF9ABD1306C}.Debug|Mixed Platforms.Build.0 = Debug|Windows
{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 EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@ -69,6 +69,7 @@ namespace MultiRenderTarget
{ {
GraphicsDevice.SetRenderTargets(renderTargets[0], renderTargets[1], renderTargets[2], renderTargets[3]); GraphicsDevice.SetRenderTargets(renderTargets[0], renderTargets[1], renderTargets[2], renderTargets[3]);
GraphicsDevice.Clear(Color.Black); GraphicsDevice.Clear(Color.Black);
effect.CurrentTechnique.Passes[0].Apply(); effect.CurrentTechnique.Passes[0].Apply();
GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleList, primitives, 0, 2); GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleList, primitives, 0, 2);

View File

@ -1,85 +1,63 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{9C9C6245-35C2-4230-8E17-9038A228227F}</ProjectGuid> <ProjectGuid>{9C9C6245-35C2-4230-8E17-9038A228227F}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MultiRenderTarget</RootNamespace> <RootNamespace>MultiRenderTarget</RootNamespace>
<AssemblyName>MultiRenderTarget</AssemblyName> <AssemblyName>MultiRenderTarget</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile> <TargetFrameworkProfile>Client</TargetFrameworkProfile>
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaProfile>HiDef</XnaProfile>
<XnaCrossPlatformGroupID>9979cba2-8f6f-4d2f-818b-ce82befdb753</XnaCrossPlatformGroupID>
<XnaOutputType>Game</XnaOutputType>
<ApplicationIcon>anx.ico</ApplicationIcon> <ApplicationIcon>anx.ico</ApplicationIcon>
<Thumbnail>GameThumbnail.png</Thumbnail>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\x86\Debug</OutputPath> <OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants> <DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>false</XnaCompressContent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\x86\Release</OutputPath> <OutputPath>bin\Release</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants> <DefineConstants>TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib> <NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess> <UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<XnaCompressContent>true</XnaCompressContent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWin8|x86'"> <PropertyGroup>
<OutputPath>bin\x86\DebugWin8\</OutputPath> <RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWin8|x86'">
<OutputPath>bin\x86\ReleaseWin8\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize>
<NoStdLib>true</NoStdLib>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisLogFile>bin\x86\Release\MultiRenderTarget.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ANX.Framework">
<HintPath>..\..\bin\Debug\ANX.Framework.dll</HintPath>
</Reference>
<Reference Include="ANX.InputDevices.Windows.XInput">
<HintPath>..\..\bin\Debug\ANX.InputDevices.Windows.XInput.dll</HintPath>
</Reference>
<Reference Include="ANX.InputSystem.Standard">
<HintPath>..\..\bin\Debug\ANX.InputSystem.Standard.dll</HintPath>
</Reference>
<Reference Include="ANX.PlatformSystem.Windows">
<HintPath>..\..\bin\Debug\ANX.PlatformSystem.Windows.dll</HintPath>
</Reference>
<Reference Include="ANX.RenderSystem.Windows.DX10">
<HintPath>..\..\bin\Debug\ANX.RenderSystem.Windows.DX10.dll</HintPath>
</Reference>
<Reference Include="ANX.SoundSystem.Windows.XAudio">
<HintPath>..\..\bin\Debug\ANX.SoundSystem.Windows.XAudio.dll</HintPath>
</Reference>
<Reference Include="mscorlib" /> <Reference Include="mscorlib" />
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
@ -120,39 +98,10 @@
<Install>true</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
<Name>ANX.Framework</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputDevices.Windows.XInput\ANX.InputDevices.Windows.XInput.csproj">
<Project>{60D08399-244F-46A3-91F1-4CFD26D961A3}</Project>
<Name>ANX.InputDevices.Windows.XInput</Name>
</ProjectReference>
<ProjectReference Include="..\..\InputSystems\ANX.InputSystem.Standard\ANX.InputSystem.Standard.csproj">
<Project>{49066074-3B7B-4A55-B122-6BD33AB73558}</Project>
<Name>ANX.InputSystem.Standard</Name>
</ProjectReference>
<ProjectReference Include="..\..\PlatformSystems\ANX.PlatformSystem.Windows\ANX.PlatformSystem.Windows.csproj">
<Project>{068EB2E9-963C-4E1B-8831-E25011F11FFE}</Project>
<Name>ANX.PlatformSystem.Windows</Name>
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.RenderSystem.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.RenderSystem.Windows.DX10</Name>
</ProjectReference>
<ProjectReference Include="..\..\SoundSystems\ANX.SoundSystem.Windows.XAudio\ANX.SoundSystem.Windows.XAudio.csproj">
<Project>{6A582788-C4D2-410C-96CD-177F75712D65}</Project>
<Name>ANX.SoundSystem.Windows.XAudio</Name>
</ProjectReference>
<ProjectReference Include="..\SampleContent\SampleContent.contentproj">
<Project>{FA6E229D-4504-47B1-8A23-2D3FCC13F778}</Project>
<Name>SampleContent</Name>
<XnaReferenceType>Content</XnaReferenceType>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" /> <PropertyGroup>
<PostBuildEvent>xcopy $(ProjectDir)..\SampleContent\bin\$(ConfigurationName) $(TargetDir)SampleContent\ /D /E /Y</PostBuildEvent>
</PropertyGroup>
<!-- <!--
To modify your build process, add your task inside one of the targets below and uncomment it. To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -92,6 +92,11 @@
<OutputPath>bin\Xbox 360\Release</OutputPath> <OutputPath>bin\Xbox 360\Release</OutputPath>
<CompressContent>false</CompressContent> <CompressContent>false</CompressContent>
</Configuration> </Configuration>
<Configuration Name="Debug" Platform="0">
<Profile>Reach</Profile>
<OutputPath>bin\Debug</OutputPath>
<CompressContent>false</CompressContent>
</Configuration>
</Configurations> </Configurations>
<References> <References>
<AssemblyReference Name="ANX.Framework.Content.Pipeline.Assimp">..\..\bin\Debug\ANX.Framework.Content.Pipeline.Assimp.dll</AssemblyReference> <AssemblyReference Name="ANX.Framework.Content.Pipeline.Assimp">..\..\bin\Debug\ANX.Framework.Content.Pipeline.Assimp.dll</AssemblyReference>

View File

@ -86,7 +86,6 @@ namespace VertexIndexBuffer
protected override void Draw(GameTime gameTime) protected override void Draw(GameTime gameTime)
{ {
GraphicsDevice.Clear(Color.CornflowerBlue); GraphicsDevice.Clear(Color.CornflowerBlue);
//GraphicsDevice.Clear(ClearOptions.Target | ClearOptions.DepthBuffer | ClearOptions.Stencil, Color.CornflowerBlue, 1.0f, 0);
miniTriEffect.CurrentTechnique.Passes[0].Apply(); miniTriEffect.CurrentTechnique.Passes[0].Apply();