- renamed folder XNAToANXConverter to ProjectConverter

- implemented MultiRenderTargets for DirectX 10 and DirectX 11 RenderSystems (feature #559)
- fixed a minor issue in MultiRenderTarget sample
This commit is contained in:
Glatzemann 2012-08-10 08:38:01 +00:00
parent c4fe773af6
commit 00fc2bf49e
12 changed files with 250 additions and 76 deletions

View File

@ -33,7 +33,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xinput", "Samples\Xinput\Xi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsGame", "Samples\WindowsGame\WindowsGame.csproj", "{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\XNAToANXConverter\ProjectConverter.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\ProjectConverter\ProjectConverter.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kinect", "Samples\Kinect\Kinect.csproj", "{A42413A9-5189-40CB-AACA-D50F24865431}"
EndProject

View File

@ -33,7 +33,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xinput", "Samples\Xinput\Xi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsGame", "Samples\WindowsGame\WindowsGame_Linux.csproj", "{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\XNAToANXConverter\ProjectConverter_Linux.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\ProjectConverter\ProjectConverter_Linux.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kinect", "Samples\Kinect\Kinect_Linux.csproj", "{A42413A9-5189-40CB-AACA-D50F24865431}"
EndProject

View File

@ -33,7 +33,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xinput", "Samples\Xinput\Xi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsGame", "Samples\WindowsGame\WindowsGame_PSVita.csproj", "{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\XNAToANXConverter\ProjectConverter_PSVita.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\ProjectConverter\ProjectConverter_PSVita.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kinect", "Samples\Kinect\Kinect_PSVita.csproj", "{A42413A9-5189-40CB-AACA-D50F24865431}"
EndProject

View File

@ -33,7 +33,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xinput", "Samples\Xinput\Xi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsGame", "Samples\WindowsGame\WindowsGame_WindowsMetro.csproj", "{A08575E0-7B21-4822-9D4C-6B9EEB7EFFF7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\XNAToANXConverter\ProjectConverter_WindowsMetro.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "Tools\ProjectConverter\ProjectConverter_WindowsMetro.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kinect", "Samples\Kinect\Kinect_WindowsMetro.csproj", "{A42413A9-5189-40CB-AACA-D50F24865431}"
EndProject

View File

@ -56,16 +56,16 @@ namespace ANX.RenderSystem.Windows.DX10
nativeEffectVariable.AsScalar().Set(value);
}
public void SetValue(Matrix value, bool transpose)
public void SetValue(Matrix value, bool transpose)
{
// TODO: handle transpose!
// TODO: handle transpose!
SharpDX.Matrix m = new SharpDX.Matrix(value.M11, value.M12, value.M13, value.M14, value.M21, value.M22, value.M23, value.M24, value.M31, value.M32, value.M33, value.M34, value.M41, value.M42, value.M43, value.M44);
nativeEffectVariable.AsMatrix().SetMatrix(m);
}
public void SetValue(Matrix[] value, bool transpose)
{
// TODO: handle transpose!
{
// TODO: handle transpose!
int count = value.Length;
SharpDX.Matrix[] m = new SharpDX.Matrix[count];
Matrix anxMatrix;

View File

@ -7,9 +7,11 @@ using SharpDX;
using SharpDX.DXGI;
using SharpDX.Direct3D;
using SharpDX.D3DCompiler;
using ANX.Framework.NonXNA;
using SharpDX.Direct3D10;
using ANX.Framework;
using ANX.Framework.NonXNA;
using ANX.Framework.Graphics;
using System.Runtime.InteropServices;
#endregion // Using Statements
@ -19,8 +21,6 @@ using ANX.Framework.Graphics;
using Device = SharpDX.Direct3D10.Device;
using Buffer = SharpDX.Direct3D10.Buffer;
using System.Runtime.InteropServices;
using ANX.Framework;
using Rectangle = ANX.Framework.Rectangle;
using Vector4 = ANX.Framework.Vector4;
using VertexBufferBinding = ANX.Framework.Graphics.VertexBufferBinding;
@ -61,7 +61,7 @@ namespace ANX.RenderSystem.Windows.DX10
private Device device;
private SwapChain swapChain;
private RenderTargetView renderView;
private RenderTargetView renderTargetView;
private RenderTargetView[] renderTargetView = new RenderTargetView[1];
private DepthStencilView depthStencilView;
private SharpDX.Direct3D10.Texture2D depthStencilBuffer;
private SharpDX.Direct3D10.Texture2D backBuffer;
@ -188,7 +188,22 @@ namespace ANX.RenderSystem.Windows.DX10
clearColor.Alpha = color.A * ColorMultiplier;
}
this.device.ClearRenderTargetView(this.renderTargetView != null ? this.renderTargetView : this.renderView, this.clearColor);
if (this.renderTargetView[0] == null)
{
this.device.ClearRenderTargetView(this.renderView, this.clearColor);
}
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{
if (this.renderTargetView[i] == null)
{
break;
}
this.device.ClearRenderTargetView(this.renderTargetView[i], this.clearColor);
}
}
}
public void Clear(ClearOptions options, Vector4 color, float depth, int stencil)
@ -203,7 +218,22 @@ namespace ANX.RenderSystem.Windows.DX10
this.clearColor.Alpha = color.W;
this.lastClearColor = 0;
this.device.ClearRenderTargetView(this.renderTargetView != null ? this.renderTargetView : this.renderView, this.clearColor);
if (this.renderTargetView[0] == null)
{
this.device.ClearRenderTargetView(this.renderView, this.clearColor);
}
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{
if (this.renderTargetView[i] == null)
{
break;
}
this.device.ClearRenderTargetView(this.renderTargetView[i], this.clearColor);
}
}
}
if (this.depthStencilView != null)
@ -323,7 +353,23 @@ namespace ANX.RenderSystem.Windows.DX10
device.InputAssembler.SetVertexBuffers(0, nativeVertexBufferBindings);
DrawPrimitives(primitiveType, vertexOffset, primitiveCount);
SharpDX.Direct3D10.EffectPass pass; SharpDX.Direct3D10.EffectTechnique technique; ShaderBytecode passSignature;
SetupEffectForDraw(out pass, out technique, out passSignature);
var layout = CreateInputLayout(device, passSignature, vertexDeclaration);
device.InputAssembler.InputLayout = layout;
// Prepare All the stages
device.InputAssembler.PrimitiveTopology = FormatConverter.Translate(primitiveType);
device.Rasterizer.SetViewports(currentViewport);
//device.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
for (int i = 0; i < technique.Description.PassCount; ++i)
{
pass.Apply();
device.Draw(primitiveCount, vertexOffset);
}
}
#endregion // DrawUserPrimitives<T>
@ -352,7 +398,12 @@ namespace ANX.RenderSystem.Windows.DX10
private void SetupInputLayout(ShaderBytecode passSignature)
{
// get the VertexDeclaration from current VertexBuffer to create input layout for the input assembler
//TODO: check for null and throw exception
if (currentVertexBuffer == null)
{
throw new ArgumentNullException("passSignature");
}
VertexDeclaration vertexDeclaration = currentVertexBuffer.VertexDeclaration;
var layout = CreateInputLayout(device, passSignature, vertexDeclaration);
@ -487,10 +538,13 @@ namespace ANX.RenderSystem.Windows.DX10
if (renderTargets == null)
{
// reset the RenderTarget to backbuffer
if (renderTargetView != null)
for (int i = 0; i < renderTargetView.Length; i++)
{
renderTargetView.Dispose();
renderTargetView = null;
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
device.OutputMerger.SetRenderTargets(1, new RenderTargetView[] { this.renderView }, this.depthStencilView);
@ -498,26 +552,60 @@ namespace ANX.RenderSystem.Windows.DX10
}
else
{
if (renderTargets.Length == 1)
int renderTargetCount = renderTargets.Length;
if (this.renderTargetView.Length != renderTargetCount)
{
RenderTarget2D renderTarget = renderTargets[0].RenderTarget as RenderTarget2D;
RenderTarget2D_DX10 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX10;
for (int i = 0; i < renderTargetView.Length; i++)
{
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
this.renderTargetView = new RenderTargetView[renderTargetCount];
}
for (int i = 0; i < renderTargetCount; i++)
{
RenderTarget2D renderTarget = renderTargets[i].RenderTarget as RenderTarget2D;
if (renderTarget != null)
{
if (renderTargetView != null)
RenderTarget2D_DX10 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX10;
if (renderTargetView[i] != null)
{
renderTargetView.Dispose();
renderTargetView = null;
renderTargetView[i].Dispose();
}
this.renderTargetView = new RenderTargetView(device, ((Texture2D_DX10)nativeRenderTarget).NativeShaderResourceView.Resource);
DepthStencilView depthStencilView = null;
device.OutputMerger.SetRenderTargets(1,new RenderTargetView[] { this.renderTargetView }, depthStencilView);
renderTargetView[i] = new RenderTargetView(device, ((Texture2D_DX10)nativeRenderTarget).NativeShaderResourceView.Resource);
}
}
else
{
throw new NotImplementedException("handling of multiple RenderTargets are not yet implemented");
}
device.OutputMerger.SetRenderTargets(renderTargetCount, renderTargetView, this.depthStencilView);
device.OutputMerger.SetTargets(this.depthStencilView, this.renderTargetView);
//if (renderTargets.Length == 1)
//{
// RenderTarget2D renderTarget = renderTargets[0].RenderTarget as RenderTarget2D;
// RenderTarget2D_DX10 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX10;
// if (renderTarget != null)
// {
// if (renderTargetView != null)
// {
// renderTargetView.Dispose();
// renderTargetView = null;
// }
// this.renderTargetView = new RenderTargetView(device, ((Texture2D_DX10)nativeRenderTarget).NativeShaderResourceView.Resource);
// DepthStencilView depthStencilView = null;
// device.OutputMerger.SetRenderTargets(1, new RenderTargetView[] { this.renderTargetView }, depthStencilView);
// }
//}
//else
//{
// throw new NotImplementedException("handling of multiple RenderTargets are not yet implemented");
//}
}
}
@ -593,10 +681,13 @@ namespace ANX.RenderSystem.Windows.DX10
public void Dispose()
{
if (renderTargetView != null)
for (int i = 0; i < renderTargetView.Length; i++)
{
renderTargetView.Dispose();
renderTargetView = null;
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
if (swapChain != null)

View File

@ -15,6 +15,9 @@ using ANX.Framework;
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
using Texture2D = ANX.Framework.Graphics.Texture2D;
using Texture3D = ANX.Framework.Graphics.Texture3D;
namespace ANX.RenderSystem.Windows.DX11
{
public class EffectParameter_DX11 : INativeEffectParameter
@ -53,14 +56,16 @@ namespace ANX.RenderSystem.Windows.DX11
nativeEffectVariable.AsScalar().Set(value);
}
public void SetValue(Matrix value, bool transpose)
public void SetValue(Matrix value, bool transpose)
{
// TODO: handle transpose!
SharpDX.Matrix m = new SharpDX.Matrix(value.M11, value.M12, value.M13, value.M14, value.M21, value.M22, value.M23, value.M24, value.M31, value.M32, value.M33, value.M34, value.M41, value.M42, value.M43, value.M44);
nativeEffectVariable.AsMatrix().SetMatrix(m);
}
public void SetValue(Matrix[] value, bool transpose)
public void SetValue(Matrix[] value, bool transpose)
{
// TODO: handle transpose!
int count = value.Length;
SharpDX.Matrix[] m = new SharpDX.Matrix[count];
Matrix anxMatrix;

View File

@ -15,6 +15,8 @@ using ANX.Framework.Graphics;
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
using EffectTechnique = ANX.Framework.Graphics.EffectTechnique;
namespace ANX.RenderSystem.Windows.DX11
{
public class Effect_DX11 : INativeEffect
@ -184,14 +186,14 @@ namespace ANX.RenderSystem.Windows.DX11
EffectTechnique_DX11 teqDx11 = new EffectTechnique_DX11(this.managedEffect);
teqDx11.NativeTechnique = nativeEffect.GetTechniqueByIndex(i);
ANX.Framework.Graphics.EffectTechnique teq = new ANX.Framework.Graphics.EffectTechnique(this.managedEffect, teqDx11);
EffectTechnique teq = new EffectTechnique(this.managedEffect, teqDx11);
yield return teq;
}
}
}
public IEnumerable<ANX.Framework.Graphics.EffectParameter> Parameters
public IEnumerable<EffectParameter> Parameters
{
get
{
@ -200,7 +202,7 @@ namespace ANX.RenderSystem.Windows.DX11
EffectParameter_DX11 parDx11 = new EffectParameter_DX11();
parDx11.NativeParameter = nativeEffect.GetVariableByIndex(i);
ANX.Framework.Graphics.EffectParameter par = new ANX.Framework.Graphics.EffectParameter();
EffectParameter par = new EffectParameter();
par.NativeParameter = parDx11;
yield return par;

View File

@ -7,9 +7,11 @@ using SharpDX;
using SharpDX.DXGI;
using SharpDX.Direct3D;
using SharpDX.D3DCompiler;
using ANX.Framework.NonXNA;
using SharpDX.Direct3D11;
using ANX.Framework;
using ANX.Framework.NonXNA;
using ANX.Framework.Graphics;
using System.Runtime.InteropServices;
#endregion // Using Statements
@ -19,8 +21,10 @@ using ANX.Framework.Graphics;
using Device = SharpDX.Direct3D11.Device;
using Buffer = SharpDX.Direct3D11.Buffer;
using System.Runtime.InteropServices;
using ANX.Framework;
using Rectangle = ANX.Framework.Rectangle;
using Vector4 = ANX.Framework.Vector4;
using VertexBufferBinding = ANX.Framework.Graphics.VertexBufferBinding;
using Viewport = ANX.Framework.Graphics.Viewport;
namespace ANX.RenderSystem.Windows.DX11
{
@ -57,7 +61,7 @@ namespace ANX.RenderSystem.Windows.DX11
private DeviceContext deviceContext;
private SwapChain swapChain;
private RenderTargetView renderView;
private RenderTargetView renderTargetView;
private RenderTargetView[] renderTargetView = new RenderTargetView[1];
private DepthStencilView depthStencilView;
private SharpDX.Direct3D11.Texture2D depthStencilBuffer;
private SharpDX.Direct3D11.Texture2D backBuffer;
@ -187,7 +191,23 @@ namespace ANX.RenderSystem.Windows.DX11
clearColor.Alpha = color.A * ColorMultiplier;
}
this.deviceContext.ClearRenderTargetView(this.renderTargetView != null ? this.renderTargetView : this.renderView, this.clearColor);
if (this.renderTargetView[0] == null)
{
this.deviceContext.ClearRenderTargetView(this.renderView, this.clearColor);
}
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{
if (this.renderTargetView[i] == null)
{
break;
}
this.deviceContext.ClearRenderTargetView(this.renderTargetView[i], this.clearColor);
}
}
}
public void Clear(ClearOptions options, ANX.Framework.Vector4 color, float depth, int stencil)
@ -202,7 +222,22 @@ namespace ANX.RenderSystem.Windows.DX11
this.clearColor.Alpha = color.W;
this.lastClearColor = 0;
this.deviceContext.ClearRenderTargetView(this.renderTargetView != null ? this.renderTargetView : this.renderView, this.clearColor);
if (this.renderTargetView[0] == null)
{
this.deviceContext.ClearRenderTargetView(this.renderView, this.clearColor);
}
else
{
for (int i = 0; i < this.renderTargetView.Length; i++)
{
if (this.renderTargetView[i] == null)
{
break;
}
this.deviceContext.ClearRenderTargetView(this.renderTargetView[i], this.clearColor);
}
}
}
if (this.depthStencilView != null)
@ -322,7 +357,23 @@ namespace ANX.RenderSystem.Windows.DX11
deviceContext.InputAssembler.SetVertexBuffers(0, nativeVertexBufferBindings);
DrawPrimitives(primitiveType, vertexOffset, primitiveCount);
SharpDX.Direct3D11.EffectPass pass; SharpDX.Direct3D11.EffectTechnique technique; ShaderBytecode passSignature;
SetupEffectForDraw(out pass, out technique, out passSignature);
var layout = CreateInputLayout(deviceContext.Device, passSignature, vertexDeclaration);
deviceContext.InputAssembler.InputLayout = layout;
// Prepare All the stages
deviceContext.InputAssembler.PrimitiveTopology = FormatConverter.Translate(primitiveType);
deviceContext.Rasterizer.SetViewports(currentViewport);
//device.OutputMerger.SetTargets(this.depthStencilView, this.renderView);
for (int i = 0; i < technique.Description.PassCount; ++i)
{
pass.Apply(deviceContext);
deviceContext.Draw(primitiveCount, vertexOffset);
}
}
#endregion // DrawUserPrimitives<T>
@ -486,10 +537,13 @@ namespace ANX.RenderSystem.Windows.DX11
if (renderTargets == null)
{
// reset the RenderTarget to backbuffer
if (renderTargetView != null)
for (int i = 0; i < renderTargetView.Length; i++)
{
renderTargetView.Dispose();
renderTargetView = null;
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
deviceContext.OutputMerger.SetRenderTargets(1, new RenderTargetView[] { this.renderView }, this.depthStencilView);
@ -497,26 +551,39 @@ namespace ANX.RenderSystem.Windows.DX11
}
else
{
if (renderTargets.Length == 1)
int renderTargetCount = renderTargets.Length;
if (this.renderTargetView.Length != renderTargetCount)
{
RenderTarget2D renderTarget = renderTargets[0].RenderTarget as RenderTarget2D;
RenderTarget2D_DX11 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX11;
for (int i = 0; i < renderTargetView.Length; i++)
{
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
this.renderTargetView = new RenderTargetView[renderTargetCount];
}
for (int i = 0; i < renderTargetCount; i++)
{
RenderTarget2D renderTarget = renderTargets[i].RenderTarget as RenderTarget2D;
if (renderTarget != null)
{
if (renderTargetView != null)
RenderTarget2D_DX11 nativeRenderTarget = renderTarget.NativeRenderTarget as RenderTarget2D_DX11;
if (renderTargetView[i] != null)
{
renderTargetView.Dispose();
renderTargetView = null;
renderTargetView[i].Dispose();
}
this.renderTargetView = new RenderTargetView(deviceContext.Device, ((Texture2D_DX11)nativeRenderTarget).NativeShaderResourceView.Resource);
DepthStencilView depthStencilView = null;
deviceContext.OutputMerger.SetRenderTargets(1, new RenderTargetView[] { this.renderTargetView }, depthStencilView);
renderTargetView[i] = new RenderTargetView(deviceContext.Device, ((Texture2D_DX11)nativeRenderTarget).NativeShaderResourceView.Resource);
}
}
else
{
throw new NotImplementedException("handling of multiple RenderTargets are not yet implemented");
}
deviceContext.OutputMerger.SetRenderTargets(renderTargetCount, renderTargetView, this.depthStencilView);
deviceContext.OutputMerger.SetTargets(this.depthStencilView, this.renderTargetView);
}
}
@ -592,10 +659,13 @@ namespace ANX.RenderSystem.Windows.DX11
public void Dispose()
{
if (renderTargetView != null)
for (int i = 0; i < renderTargetView.Length; i++)
{
renderTargetView.Dispose();
renderTargetView = null;
if (renderTargetView[i] != null)
{
renderTargetView[i].Dispose();
renderTargetView[i] = null;
}
}
if (swapChain != null)

View File

@ -67,11 +67,21 @@ namespace MultiRenderTarget
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.SetRenderTargets(renderTargets[0], renderTargets[1], renderTargets[2], renderTargets[3]);
GraphicsDevice.Clear(Color.Black);
effect.CurrentTechnique.Passes[0].Apply();
GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleList, primitives, 0, 2);
//GraphicsDevice.SetRenderTargets(renderTargets[0], renderTargets[1], renderTargets[2], renderTargets[3]);
//GraphicsDevice.Clear(Color.Black);
//effect.CurrentTechnique.Passes[0].Apply();
//GraphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleList, primitives, 0, 2);
//GraphicsDevice.SetRenderTarget(null);
//TODO: the code above should work but it looks like there's a problem with DrawUserPrimitives
GraphicsDevice.SetRenderTarget(renderTargets[0]);
GraphicsDevice.Clear(Color.Green);
GraphicsDevice.SetRenderTarget(renderTargets[1]);
GraphicsDevice.Clear(Color.Blue);
GraphicsDevice.SetRenderTarget(renderTargets[2]);
GraphicsDevice.Clear(Color.Yellow);
GraphicsDevice.SetRenderTarget(null);
spriteBatch.Begin();

View File

@ -143,11 +143,7 @@
</ProjectReference>
<ProjectReference Include="..\..\RenderSystems\ANX.Framework.Windows.DX10\ANX.RenderSystem.Windows.DX10.csproj">
<Project>{5BE49183-2F6F-4527-AC90-D816911FCF90}</Project>
<Name>ANX.Framework.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>
<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>

View File

@ -5,7 +5,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANXStatusComparer", "ANXSta
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StockShaderCodeGenerator", "StockShaderCodeGenerator\StockShaderCodeGenerator.csproj", "{D73E5FF4-AE88-4637-8159-120FBDA564BF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XNAToANXConverter", "XNAToANXConverter\XNAToANXConverter.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectConverter", "ProjectConverter\ProjectConverter.csproj", "{B5209A04-B2F8-4033-A5E7-545BE771214C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution