From de0232177e8227170d00d2ae29b538cfaae56bb4 Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Wed, 29 Aug 2012 10:48:21 +0000 Subject: [PATCH] XNAEXT: added a ConstantBuffer class and interfaces to the RenderSystem. Everything compiles fine but the RenderSystem does not create unmanaged buffers because it needs to be implemented. --- ANX.Framework/ANX.Framework.csproj | 2 + .../ANX.Framework_WindowsMetro.csproj | 3 + ANX.Framework/Graphics/ConstantBuffer.cs | 139 ++++++++++++++++++ ANX.Framework/Graphics/GraphicsDevice.cs | 28 ++++ .../RenderSystem/INativeConstantBuffer.cs | 24 +++ .../RenderSystem/INativeGraphicsDevice.cs | 4 + .../RenderSystem/IRenderSystemCreator.cs | 4 + .../ANX.RenderSystem.Windows.DX10.csproj | 7 +- ...derSystem.Windows.DX10_WindowsMetro.csproj | 7 +- .../ANX.Framework.Windows.DX10/Creator.cs | 16 +- .../ANX.Framework.Windows.DX10/Effect_DX10.cs | 3 + .../GraphicsDeviceWindowsDX10.cs | 12 ++ .../Properties/AssemblyInfo.cs | 4 +- .../ANX.RenderSystem.Windows.GL3.csproj | 4 +- ...nderSystem.Windows.GL3_WindowsMetro.csproj | 4 +- .../ANX.Framework.Windows.GL3/Creator.cs | 12 ++ .../GraphicsDeviceWindowsGL3.cs | 12 ++ .../Properties/AssemblyInfo.cs | 4 +- .../ANX.RenderSystem.PsVita.csproj | 4 +- ...NX.RenderSystem.PsVita_WindowsMetro.csproj | 4 +- .../ANX.RenderSystem.PsVita/Creator.cs | 13 +- .../Properties/AssemblyInfo.cs | 4 +- .../PsVitaGraphicsDevice.cs | 7 + .../ANX.RenderSystem.Windows.DX11.csproj | 7 +- ...derSystem.Windows.DX11_WindowsMetro.csproj | 7 +- .../ANX.RenderSystem.Windows.DX11/Creator.cs | 11 ++ .../GraphicsDeviceWindowsDX11.cs | 12 ++ .../Properties/AssemblyInfo.cs | 4 +- .../ANX.RenderSystem.Windows.Metro.csproj | 4 +- ...erSystem.Windows.Metro_WindowsMetro.csproj | 4 +- .../ANX.RenderSystem.Windows.Metro/Creator.cs | 13 +- .../GraphicsDeviceWindowsMetro.cs | 12 ++ .../Properties/AssemblyInfo.cs | 4 +- 33 files changed, 359 insertions(+), 40 deletions(-) create mode 100644 ANX.Framework/Graphics/ConstantBuffer.cs create mode 100644 ANX.Framework/NonXNA/RenderSystem/INativeConstantBuffer.cs diff --git a/ANX.Framework/ANX.Framework.csproj b/ANX.Framework/ANX.Framework.csproj index 30f72a0e..13fb5572 100644 --- a/ANX.Framework/ANX.Framework.csproj +++ b/ANX.Framework/ANX.Framework.csproj @@ -211,6 +211,7 @@ + @@ -437,6 +438,7 @@ + diff --git a/ANX.Framework/ANX.Framework_WindowsMetro.csproj b/ANX.Framework/ANX.Framework_WindowsMetro.csproj index 7084ef03..fcca4bf4 100644 --- a/ANX.Framework/ANX.Framework_WindowsMetro.csproj +++ b/ANX.Framework/ANX.Framework_WindowsMetro.csproj @@ -214,6 +214,7 @@ + @@ -417,6 +418,7 @@ + @@ -439,6 +441,7 @@ + diff --git a/ANX.Framework/Graphics/ConstantBuffer.cs b/ANX.Framework/Graphics/ConstantBuffer.cs new file mode 100644 index 00000000..495fc935 --- /dev/null +++ b/ANX.Framework/Graphics/ConstantBuffer.cs @@ -0,0 +1,139 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA.Development; +using ANX.Framework.NonXNA; +using ANX.Framework.NonXNA.RenderSystem; + +#endregion + +// This file is part of the ANX.Framework created by the +// "ANX.Framework developer group" and released under the Ms-PL license. +// For details see: http://anxframework.codeplex.com/license + +namespace ANX.Framework.Graphics +{ +#if XNAEXT + + [PercentageComplete(10)] + [TestState(TestStateAttribute.TestState.Untested)] + public class ConstantBuffer : GraphicsResource, IGraphicsResource + { + #region Private + private BufferUsage bufferUsage; + private INativeConstantBuffer nativeConstantBuffer; + #endregion + + #region Public + internal INativeConstantBuffer NativeConstantBuffer + { + get + { + if (this.nativeConstantBuffer == null) + { + CreateNativeBuffer(); + } + + return this.nativeConstantBuffer; + } + } + + public BufferUsage BufferUsage + { + get + { + return this.bufferUsage; + } + } + + #endregion + + #region Constructor + + public ConstantBuffer(GraphicsDevice graphicsDevice, BufferUsage usage) + : base(graphicsDevice) + { + this.bufferUsage = usage; + + base.GraphicsDevice.ResourceCreated += GraphicsDevice_ResourceCreated; + base.GraphicsDevice.ResourceDestroyed += GraphicsDevice_ResourceDestroyed; + + CreateNativeBuffer(); + } + + ~ConstantBuffer() + { + Dispose(); + base.GraphicsDevice.ResourceCreated -= GraphicsDevice_ResourceCreated; + base.GraphicsDevice.ResourceDestroyed -= GraphicsDevice_ResourceDestroyed; + } + #endregion + + #region GraphicsDevice_ResourceDestroyed + private void GraphicsDevice_ResourceDestroyed(object sender, ResourceDestroyedEventArgs e) + { + if (nativeConstantBuffer != null) + { + nativeConstantBuffer.Dispose(); + nativeConstantBuffer = null; + } + } + #endregion + + #region GraphicsDevice_ResourceCreated + private void GraphicsDevice_ResourceCreated(object sender, ResourceCreatedEventArgs e) + { + if (nativeConstantBuffer != null) + { + nativeConstantBuffer.Dispose(); + nativeConstantBuffer = null; + } + + CreateNativeBuffer(); + } + #endregion + + #region CreateNativeBuffer + private void CreateNativeBuffer() + { + this.nativeConstantBuffer = AddInSystemFactory.Instance.GetDefaultCreator().CreateConstantBuffer(GraphicsDevice, this, bufferUsage); + } + #endregion + + #region GetData + public void GetData(T data) where T : struct + { + NativeConstantBuffer.GetData(data); + } + + public void GetData(T[] data, int startIndex, int elementCount) + where T : struct + { + NativeConstantBuffer.GetData(data, startIndex, elementCount); + } + #endregion + + #region SetData + public void SetData(T data) where T : struct + { + NativeConstantBuffer.SetData(GraphicsDevice, data); + } + #endregion + + #region Dispose + public override void Dispose() + { + if (nativeConstantBuffer != null) + { + nativeConstantBuffer.Dispose(); + nativeConstantBuffer = null; + } + } + + #endregion + } + +#endif +} diff --git a/ANX.Framework/Graphics/GraphicsDevice.cs b/ANX.Framework/Graphics/GraphicsDevice.cs index 3c43765d..e6184346 100644 --- a/ANX.Framework/Graphics/GraphicsDevice.cs +++ b/ANX.Framework/Graphics/GraphicsDevice.cs @@ -198,6 +198,34 @@ namespace ANX.Framework.Graphics #endregion // DrawUserPrimitives +#if XNAEXT + #region SetConstantBuffer + /// + /// Binds a ConstantBuffer to the current GraphicsDevice + /// + /// The index of the constant buffer used in the shader + /// The managed constant buffer object to bind. + public void SetConstantBuffer(int slot, ConstantBuffer constantBuffer) + { + this.nativeDevice.SetConstantBuffer(slot, constantBuffer); + } + + /// + /// Binds ConstantBuffer objects to the current GraphicsDevice. + /// + /// The array of managed constant buffer objects to bind. + /// The constant buffer objects are bound in the order found in the passed array. + public void SetConstantBuffers(params ConstantBuffer[] constantBuffers) + { + for (int slot = 0; slot < constantBuffers.Length; slot++) + { + this.nativeDevice.SetConstantBuffer(slot, constantBuffers[slot]); + } + } + + #endregion +#endif + #region SetVertexBuffer public void SetVertexBuffer(VertexBuffer vertexBuffer) { diff --git a/ANX.Framework/NonXNA/RenderSystem/INativeConstantBuffer.cs b/ANX.Framework/NonXNA/RenderSystem/INativeConstantBuffer.cs new file mode 100644 index 00000000..55aa1753 --- /dev/null +++ b/ANX.Framework/NonXNA/RenderSystem/INativeConstantBuffer.cs @@ -0,0 +1,24 @@ +#region Using Statements +using System; +using System.IO; +using ANX.Framework.Graphics; + +#endregion + +// This file is part of the ANX.Framework created by the +// "ANX.Framework developer group" and released under the Ms-PL license. +// For details see: http://anxframework.codeplex.com/license + +namespace ANX.Framework.NonXNA.RenderSystem +{ +#if XNAEXT + + public interface INativeConstantBuffer : INativeBuffer + { + void GetData(T data) where T : struct; + + void SetData(GraphicsDevice graphicsDevice, T data) where T : struct; + } + +#endif +} diff --git a/ANX.Framework/NonXNA/RenderSystem/INativeGraphicsDevice.cs b/ANX.Framework/NonXNA/RenderSystem/INativeGraphicsDevice.cs index 808a9c6f..0b9955fa 100644 --- a/ANX.Framework/NonXNA/RenderSystem/INativeGraphicsDevice.cs +++ b/ANX.Framework/NonXNA/RenderSystem/INativeGraphicsDevice.cs @@ -27,6 +27,10 @@ namespace ANX.Framework.NonXNA void DrawPrimitives(PrimitiveType primitiveType, int vertexOffset, int primitiveCount); +#if XNAEXT + void SetConstantBuffer(int slot, ConstantBuffer constantBuffer); +#endif + void SetVertexBuffers(VertexBufferBinding[] vertexBuffers); void SetIndexBuffer(IndexBuffer indexBuffer); diff --git a/ANX.Framework/NonXNA/RenderSystem/IRenderSystemCreator.cs b/ANX.Framework/NonXNA/RenderSystem/IRenderSystemCreator.cs index fb452da0..5c6c998a 100644 --- a/ANX.Framework/NonXNA/RenderSystem/IRenderSystemCreator.cs +++ b/ANX.Framework/NonXNA/RenderSystem/IRenderSystemCreator.cs @@ -30,6 +30,10 @@ namespace ANX.Framework.NonXNA VertexBuffer managedBuffer, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage); +#if XNAEXT + INativeConstantBuffer CreateConstantBuffer(GraphicsDevice graphics, ConstantBuffer managedBuffer, BufferUsage usage); +#endif + INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect, Stream byteCode); INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect, diff --git a/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10.csproj b/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10.csproj index 22d1fb8d..0509c2d3 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10.csproj +++ b/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10.csproj @@ -18,7 +18,7 @@ full false ..\..\bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;XNAEXT prompt 4 x86 @@ -28,7 +28,7 @@ pdbonly true ..\..\bin\Release\ - TRACE + TRACE;XNAEXT prompt 4 x86 @@ -36,10 +36,11 @@ bin\DebugWin8\ + XNAEXT bin\ReleaseWin8\ - TRACE + TRACE;XNAEXT true true pdbonly diff --git a/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10_WindowsMetro.csproj b/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10_WindowsMetro.csproj index 2d12b273..4bc874ec 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10_WindowsMetro.csproj +++ b/RenderSystems/ANX.Framework.Windows.DX10/ANX.RenderSystem.Windows.DX10_WindowsMetro.csproj @@ -20,7 +20,7 @@ full false ..\..\bin\Debug\ - TRACE;DEBUG;WINDOWSMETRO; + XNAEXT;DEBUG;TRACE;WINDOWSMETRO; prompt 4 x86 @@ -30,7 +30,7 @@ pdbonly true ..\..\bin\Release\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; prompt 4 x86 @@ -38,10 +38,11 @@ bin\DebugWin8\ + XNAEXT;WINDOWSMETRO; bin\ReleaseWin8\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; true true pdbonly diff --git a/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs b/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs index 895af477..8f4c61d5 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs +++ b/RenderSystems/ANX.Framework.Windows.DX10/Creator.cs @@ -55,10 +55,22 @@ namespace ANX.RenderSystem.Windows.DX10 VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage) { PreventSystemChange(); - return new VertexBuffer_DX10(graphics, vertexDeclaration, vertexCount, usage); + + return new VertexBuffer_DX10(graphics, vertexDeclaration, vertexCount, usage); } - public INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect, Stream vertexShaderByteCode, +#if XNAEXT + #region CreateConstantBuffer + public INativeConstantBuffer CreateConstantBuffer(GraphicsDevice graphics, ConstantBuffer managedBuffer, BufferUsage usage) + { + PreventSystemChange(); + + throw new NotImplementedException(); + } + #endregion +#endif + + public INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect, Stream vertexShaderByteCode, Stream pixelShaderByteCode) { PreventSystemChange(); diff --git a/RenderSystems/ANX.Framework.Windows.DX10/Effect_DX10.cs b/RenderSystems/ANX.Framework.Windows.DX10/Effect_DX10.cs index 1bd25b17..a6f3267f 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/Effect_DX10.cs +++ b/RenderSystems/ANX.Framework.Windows.DX10/Effect_DX10.cs @@ -21,6 +21,7 @@ namespace ANX.RenderSystem.Windows.DX10 { public class Effect_DX10 : INativeEffect { + #region Private Members private ShaderBytecode pixelShaderByteCode; private ShaderBytecode vertexShaderByteCode; private VertexShader vertexShader; @@ -29,6 +30,8 @@ namespace ANX.RenderSystem.Windows.DX10 private ShaderBytecode effectByteCode; private SharpDX.Direct3D10.Effect nativeEffect; + #endregion + public Effect_DX10(GraphicsDevice device, ANX.Framework.Graphics.Effect managedEffect, Stream vertexShaderByteCode, Stream pixelShaderByteCode) { if (this.managedEffect == null) diff --git a/RenderSystems/ANX.Framework.Windows.DX10/GraphicsDeviceWindowsDX10.cs b/RenderSystems/ANX.Framework.Windows.DX10/GraphicsDeviceWindowsDX10.cs index db8b75bb..a69698b4 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/GraphicsDeviceWindowsDX10.cs +++ b/RenderSystems/ANX.Framework.Windows.DX10/GraphicsDeviceWindowsDX10.cs @@ -455,6 +455,18 @@ namespace ANX.RenderSystem.Windows.DX10 } } +#if XNAEXT + public void SetConstantBuffer(int slot, ANX.Framework.Graphics.ConstantBuffer constantBuffer) + { + if (constantBuffer == null) + { + throw new ArgumentNullException("constantBuffer"); + } + + throw new NotImplementedException(); + } +#endif + public void SetVertexBuffers(VertexBufferBinding[] vertexBuffers) { if (vertexBuffers == null) diff --git a/RenderSystems/ANX.Framework.Windows.DX10/Properties/AssemblyInfo.cs b/RenderSystems/ANX.Framework.Windows.DX10/Properties/AssemblyInfo.cs index 352377d3..ef6dacd5 100644 --- a/RenderSystems/ANX.Framework.Windows.DX10/Properties/AssemblyInfo.cs +++ b/RenderSystems/ANX.Framework.Windows.DX10/Properties/AssemblyInfo.cs @@ -32,7 +32,7 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.7.15.0")] -[assembly: AssemblyFileVersion("0.7.15.0")] +[assembly: AssemblyVersion("0.7.16.0")] +[assembly: AssemblyFileVersion("0.7.16.0")] [assembly: InternalsVisibleTo("ANX.Framework.ContentPipeline")] diff --git a/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3.csproj b/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3.csproj index 39275778..06d494fa 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3.csproj +++ b/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3.csproj @@ -18,7 +18,7 @@ full false ..\..\bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;XNAEXT prompt 4 x86 @@ -29,7 +29,7 @@ pdbonly true ..\bin\Release\ - TRACE + TRACE;XNAEXT prompt 4 x86 diff --git a/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3_WindowsMetro.csproj b/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3_WindowsMetro.csproj index fc179c18..1ec351ad 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3_WindowsMetro.csproj +++ b/RenderSystems/ANX.Framework.Windows.GL3/ANX.RenderSystem.Windows.GL3_WindowsMetro.csproj @@ -20,7 +20,7 @@ full false ..\..\bin\Debug\ - TRACE;DEBUG;WINDOWSMETRO; + XNAEXT;DEBUG;TRACE;WINDOWSMETRO; prompt 4 x86 @@ -31,7 +31,7 @@ pdbonly true ..\bin\Release\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; prompt 4 x86 diff --git a/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs b/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs index 2a63d02e..3c96bc26 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs +++ b/RenderSystems/ANX.Framework.Windows.GL3/Creator.cs @@ -142,6 +142,18 @@ namespace ANX.RenderSystem.Windows.GL3 } #endregion +#if XNAEXT + #region CreateConstantBuffer + public INativeConstantBuffer CreateConstantBuffer(GraphicsDevice graphics, ConstantBuffer managedBuffer, BufferUsage usage) + { + AddInSystemFactory.Instance.PreventSystemChange(AddInType.RenderSystem); + + throw new NotImplementedException(); + } + #endregion +#endif + + #region CreateBlendState /// /// Create a new native blend state. diff --git a/RenderSystems/ANX.Framework.Windows.GL3/GraphicsDeviceWindowsGL3.cs b/RenderSystems/ANX.Framework.Windows.GL3/GraphicsDeviceWindowsGL3.cs index 93659d43..7931d76b 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/GraphicsDeviceWindowsGL3.cs +++ b/RenderSystems/ANX.Framework.Windows.GL3/GraphicsDeviceWindowsGL3.cs @@ -371,6 +371,18 @@ namespace ANX.RenderSystem.Windows.GL3 } #endregion +#if XNAEXT + public void SetConstantBuffer(int slot, ANX.Framework.Graphics.ConstantBuffer constantBuffer) + { + if (constantBuffer == null) + { + throw new ArgumentNullException("constantBuffer"); + } + + throw new NotImplementedException(); + } +#endif + #region SetVertexBuffers public void SetVertexBuffers(VertexBufferBinding[] vertexBuffers) { diff --git a/RenderSystems/ANX.Framework.Windows.GL3/Properties/AssemblyInfo.cs b/RenderSystems/ANX.Framework.Windows.GL3/Properties/AssemblyInfo.cs index 76b5d2f1..610e357b 100644 --- a/RenderSystems/ANX.Framework.Windows.GL3/Properties/AssemblyInfo.cs +++ b/RenderSystems/ANX.Framework.Windows.GL3/Properties/AssemblyInfo.cs @@ -32,7 +32,7 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.5.10.0")] -[assembly: AssemblyFileVersion("0.5.10.0")] +[assembly: AssemblyVersion("0.5.11.0")] +[assembly: AssemblyFileVersion("0.5.11.0")] [assembly: InternalsVisibleTo("ANX.Framework.ContentPipeline")] diff --git a/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita.csproj b/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita.csproj index ee1f5270..813af521 100644 --- a/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita.csproj +++ b/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;XNAEXT prompt 4 @@ -26,7 +26,7 @@ pdbonly true bin\Release\ - TRACE + TRACE;XNAEXT prompt 4 diff --git a/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita_WindowsMetro.csproj b/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita_WindowsMetro.csproj index df581a32..a00bdce5 100644 --- a/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita_WindowsMetro.csproj +++ b/RenderSystems/ANX.RenderSystem.PsVita/ANX.RenderSystem.PsVita_WindowsMetro.csproj @@ -20,7 +20,7 @@ full false bin\Debug\ - TRACE;DEBUG;WINDOWSMETRO; + XNAEXT;DEBUG;TRACE;WINDOWSMETRO; prompt 4 @@ -28,7 +28,7 @@ pdbonly true bin\Release\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; prompt 4 diff --git a/RenderSystems/ANX.RenderSystem.PsVita/Creator.cs b/RenderSystems/ANX.RenderSystem.PsVita/Creator.cs index a6b4e330..daf4f384 100644 --- a/RenderSystems/ANX.RenderSystem.PsVita/Creator.cs +++ b/RenderSystems/ANX.RenderSystem.PsVita/Creator.cs @@ -66,8 +66,17 @@ namespace ANX.RenderSystem.PsVita } #endregion - #region CreateTexture - public INativeTexture2D CreateTexture(GraphicsDevice graphics, +#if XNAEXT + #region CreateConstantBuffer + public INativeConstantBuffer CreateConstantBuffer(GraphicsDevice graphics, ConstantBuffer managedBuffer, BufferUsage usage) + { + throw new NotImplementedException(); + } + #endregion +#endif + + #region CreateTexture + public INativeTexture2D CreateTexture(GraphicsDevice graphics, SurfaceFormat surfaceFormat, int width, int height, int mipCount) { return new PsVitaTexture2D(surfaceFormat, width, height, mipCount); diff --git a/RenderSystems/ANX.RenderSystem.PsVita/Properties/AssemblyInfo.cs b/RenderSystems/ANX.RenderSystem.PsVita/Properties/AssemblyInfo.cs index 1d6664b7..cd32298e 100644 --- a/RenderSystems/ANX.RenderSystem.PsVita/Properties/AssemblyInfo.cs +++ b/RenderSystems/ANX.RenderSystem.PsVita/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.1.1.0")] +[assembly: AssemblyFileVersion("0.1.1.0")] diff --git a/RenderSystems/ANX.RenderSystem.PsVita/PsVitaGraphicsDevice.cs b/RenderSystems/ANX.RenderSystem.PsVita/PsVitaGraphicsDevice.cs index ccce1b48..355291ee 100644 --- a/RenderSystems/ANX.RenderSystem.PsVita/PsVitaGraphicsDevice.cs +++ b/RenderSystems/ANX.RenderSystem.PsVita/PsVitaGraphicsDevice.cs @@ -138,6 +138,13 @@ namespace ANX.RenderSystem.PsVita throw new NotImplementedException(); } +#if XNAEXT + public void SetConstantBuffer(int slot, ConstantBuffer constantBuffer) + { + throw new NotImplementedException(); + } +#endif + public void SetVertexBuffers(VertexBufferBinding[] vertexBuffers) { throw new NotImplementedException(); diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj b/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj index 1d6f531f..4fbeb877 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11.csproj @@ -20,7 +20,7 @@ full false ..\..\bin\Debug\ - DEBUG;TRACE + TRACE;DEBUG;XNAEXT prompt 4 true @@ -30,7 +30,7 @@ pdbonly true ..\..\bin\Release\ - TRACE + TRACE;XNAEXT prompt 4 true @@ -40,10 +40,11 @@ bin\x86\DebugWin8\ + XNAEXT bin\x86\ReleaseWin8\ - TRACE + TRACE;XNAEXT true true pdbonly diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11_WindowsMetro.csproj b/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11_WindowsMetro.csproj index 0ec28ab2..1c03a4e3 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11_WindowsMetro.csproj +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/ANX.RenderSystem.Windows.DX11_WindowsMetro.csproj @@ -21,7 +21,7 @@ full false ..\..\bin\Debug\ - TRACE;DEBUG;WINDOWSMETRO; + XNAEXT;DEBUG;TRACE;WINDOWSMETRO; prompt 4 true @@ -31,7 +31,7 @@ pdbonly true ..\..\bin\Release\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; prompt 4 true @@ -41,10 +41,11 @@ bin\x86\DebugWin8\ + XNAEXT;WINDOWSMETRO; bin\x86\ReleaseWin8\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; true true pdbonly diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs b/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs index b4a29970..f48d91fd 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs @@ -62,6 +62,17 @@ namespace ANX.RenderSystem.Windows.DX11 return new VertexBuffer_DX11(graphics, vertexDeclaration, vertexCount, usage); } +#if XNAEXT + #region CreateConstantBuffer + public INativeConstantBuffer CreateConstantBuffer(GraphicsDevice graphics, ConstantBuffer managedBuffer, BufferUsage usage) + { + AddInSystemFactory.Instance.PreventSystemChange(AddInType.RenderSystem); + + throw new NotImplementedException(); + } + #endregion +#endif + public INativeEffect CreateEffect(GraphicsDevice graphics, ANX.Framework.Graphics.Effect managedEffect, Stream vertexShaderByteCode, Stream pixelShaderByteCode) { AddInSystemFactory.Instance.PreventSystemChange(AddInType.RenderSystem); diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/GraphicsDeviceWindowsDX11.cs b/RenderSystems/ANX.RenderSystem.Windows.DX11/GraphicsDeviceWindowsDX11.cs index 6860943c..d19e3a8c 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/GraphicsDeviceWindowsDX11.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/GraphicsDeviceWindowsDX11.cs @@ -457,6 +457,18 @@ namespace ANX.RenderSystem.Windows.DX11 } } +#if XNAEXT + public void SetConstantBuffer(int slot, ANX.Framework.Graphics.ConstantBuffer constantBuffer) + { + if (constantBuffer == null) + { + throw new ArgumentNullException("constantBuffer"); + } + + throw new NotImplementedException(); + } +#endif + public void SetVertexBuffers(ANX.Framework.Graphics.VertexBufferBinding[] vertexBuffers) { if (vertexBuffers == null) diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/Properties/AssemblyInfo.cs b/RenderSystems/ANX.RenderSystem.Windows.DX11/Properties/AssemblyInfo.cs index daa354f4..cfdbd48b 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/Properties/AssemblyInfo.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Buildnummer // Revision // -[assembly: AssemblyVersion("0.7.7.0")] -[assembly: AssemblyFileVersion("0.7.7.0")] +[assembly: AssemblyVersion("0.7.8.0")] +[assembly: AssemblyFileVersion("0.7.8.0")] diff --git a/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro.csproj b/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro.csproj index 41e03cc3..64e76fb3 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro.csproj +++ b/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro.csproj @@ -18,7 +18,7 @@ full false ..\..\bin\Debug\ - TRACE;DEBUG + TRACE;DEBUG;XNAEXT prompt 4 true @@ -27,7 +27,7 @@ pdbonly true ..\..\bin\Release\ - TRACE + TRACE;XNAEXT prompt 4 true diff --git a/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro_WindowsMetro.csproj b/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro_WindowsMetro.csproj index b2621f16..325b5f8d 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro_WindowsMetro.csproj +++ b/RenderSystems/ANX.RenderSystem.Windows.Metro/ANX.RenderSystem.Windows.Metro_WindowsMetro.csproj @@ -20,7 +20,7 @@ full false ..\..\bin\Debug\ - DEBUG;TRACE;WINDOWSMETRO; + XNAEXT;DEBUG;TRACE;WINDOWSMETRO; prompt 4 true @@ -29,7 +29,7 @@ pdbonly true ..\..\bin\Release\ - TRACE;WINDOWSMETRO; + XNAEXT;TRACE;WINDOWSMETRO; prompt 4 true diff --git a/RenderSystems/ANX.RenderSystem.Windows.Metro/Creator.cs b/RenderSystems/ANX.RenderSystem.Windows.Metro/Creator.cs index 86ff7ce6..dd0f954f 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.Metro/Creator.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.Metro/Creator.cs @@ -65,8 +65,17 @@ namespace ANX.RenderSystem.Windows.Metro } #endregion - #region CreateEffect - public INativeEffect CreateEffect(GraphicsDevice graphics, +#if XNAEXT + #region CreateConstantBuffer + public INativeConstantBuffer CreateConstantBuffer(GraphicsDevice graphics, ConstantBuffer managedBuffer, BufferUsage usage) + { + throw new NotImplementedException(); + } + #endregion +#endif + + #region CreateEffect + public INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect, Stream vertexShaderByteCode, Stream pixelShaderByteCode) { return new Effect_Metro(graphics, managedEffect, diff --git a/RenderSystems/ANX.RenderSystem.Windows.Metro/GraphicsDeviceWindowsMetro.cs b/RenderSystems/ANX.RenderSystem.Windows.Metro/GraphicsDeviceWindowsMetro.cs index 0da62ec5..18eec1aa 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.Metro/GraphicsDeviceWindowsMetro.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.Metro/GraphicsDeviceWindowsMetro.cs @@ -254,6 +254,18 @@ namespace ANX.RenderSystem.Windows.Metro } #endregion +#if XNAEXT + public void SetConstantBuffer(int slot, ANX.Framework.Graphics.ConstantBuffer constantBuffer) + { + if (constantBuffer == null) + { + throw new ArgumentNullException("constantBuffer"); + } + + throw new NotImplementedException(); + } +#endif + #region SetVertexBuffers public void SetVertexBuffers(VertexBufferBinding[] vertexBuffers) { diff --git a/RenderSystems/ANX.RenderSystem.Windows.Metro/Properties/AssemblyInfo.cs b/RenderSystems/ANX.RenderSystem.Windows.Metro/Properties/AssemblyInfo.cs index 5171f797..b8639e38 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.Metro/Properties/AssemblyInfo.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.Metro/Properties/AssemblyInfo.cs @@ -24,5 +24,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.0.3.0")] -[assembly: AssemblyFileVersion("0.0.3.0")] +[assembly: AssemblyVersion("0.0.4.0")] +[assembly: AssemblyFileVersion("0.0.4.0")]