finished handling of RenderTarget in GraphicsDevice (anx side only)

This commit is contained in:
Glatzemann 2011-11-07 13:18:30 +00:00
parent 94e0509b44
commit 72c4ddff1c
6 changed files with 45 additions and 44 deletions

View File

@ -329,17 +329,6 @@ namespace ANX.Framework.Windows.DX10
return new InputElement(elementName, vertexElement.UsageIndex, elementFormat, vertexElement.Offset, 0);
}
public void SetRenderTarget(RenderTarget2D renderTarget)
{
throw new NotImplementedException();
}
public void SetRenderTarget(RenderTargetCube renderTarget, CubeMapFace cubeMapFace)
{
throw new NotImplementedException();
}
public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{
throw new NotImplementedException();

View File

@ -219,16 +219,6 @@ namespace ANX.Framework.Windows.GL3
#endregion
public void SetRenderTarget(RenderTarget2D renderTarget)
{
throw new NotImplementedException();
}
public void SetRenderTarget(RenderTargetCube renderTarget, CubeMapFace cubeMapFace)
{
throw new NotImplementedException();
}
public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{
throw new NotImplementedException();

View File

@ -72,6 +72,7 @@ namespace ANX.Framework.Graphics
private bool isDisposed;
private GraphicsProfile graphicsProfile;
private VertexBufferBinding[] currentVertexBufferBindings;
private RenderTargetBinding[] currentRenderTargetBindings;
#endregion // Private Members
@ -195,16 +196,21 @@ namespace ANX.Framework.Graphics
public void SetRenderTarget(RenderTarget2D renderTarget)
{
nativeDevice.SetRenderTarget(renderTarget);
RenderTargetBinding[] renderTargetBindings = new RenderTargetBinding[] { new RenderTargetBinding(renderTarget) };
this.currentRenderTargetBindings = renderTargetBindings;
nativeDevice.SetRenderTargets(renderTargetBindings);
}
public void SetRenderTarget(RenderTargetCube renderTarget, CubeMapFace cubeMapFace)
{
nativeDevice.SetRenderTarget(renderTarget, cubeMapFace);
RenderTargetBinding[] renderTargetBindings = new RenderTargetBinding[] { new RenderTargetBinding(renderTarget, cubeMapFace) };
this.currentRenderTargetBindings = renderTargetBindings;
nativeDevice.SetRenderTargets(renderTargetBindings);
}
public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{
this.currentRenderTargetBindings = renderTargets;
nativeDevice.SetRenderTargets(renderTargets);
}
@ -230,7 +236,7 @@ namespace ANX.Framework.Graphics
public RenderTargetBinding[] GetRenderTargets()
{
throw new NotImplementedException();
return this.currentRenderTargetBindings;
}
public void Reset()

View File

@ -54,6 +54,42 @@ namespace ANX.Framework.Graphics
{
public struct RenderTargetBinding
{
#region Private Members
private Texture renderTarget;
private CubeMapFace cubeMapFace;
#endregion // Private Members
public RenderTargetBinding(RenderTarget2D renderTarget)
{
this.renderTarget = renderTarget;
this.cubeMapFace = Graphics.CubeMapFace.PositiveX;
}
public RenderTargetBinding(RenderTargetCube renderTargetCube, CubeMapFace face)
{
this.renderTarget = renderTargetCube;
this.cubeMapFace = face;
}
public static implicit operator RenderTargetBinding(RenderTarget2D renderTarget)
{
return new RenderTargetBinding(renderTarget);
}
public Texture RenderTarget
{
get
{
return this.renderTarget;
}
}
public CubeMapFace CubeMapFace
{
get
{
return this.cubeMapFace;
}
}
}
}

View File

@ -63,20 +63,12 @@ namespace ANX.Framework.NonXNA
void DrawPrimitives(PrimitiveType primitiveType, int vertexOffset, int primitiveCount);
//void SetVertexBuffer(VertexBuffer vertexBuffer);
//void SetVertexBuffer(VertexBuffer vertexBuffer, int vertexOffset);
void SetVertexBuffers(VertexBufferBinding[] vertexBuffers);
void SetIndexBuffer(IndexBuffer indexBuffer);
void SetViewport(Viewport viewport);
void SetRenderTarget(RenderTarget2D renderTarget);
void SetRenderTarget(RenderTargetCube renderTarget, CubeMapFace cubeMapFace);
void SetRenderTargets(params RenderTargetBinding[] renderTargets);
}
}

View File

@ -589,18 +589,6 @@ namespace ANX.RenderSystem.Windows.DX11_1
return Comparison.Always;
}
public void SetRenderTarget(Framework.Graphics.RenderTarget2D renderTarget)
{
throw new NotImplementedException();
}
public void SetRenderTarget(Framework.Graphics.RenderTargetCube renderTarget, Framework.Graphics.CubeMapFace cubeMapFace)
{
throw new NotImplementedException();
}
public void SetRenderTargets(params Framework.Graphics.RenderTargetBinding[] renderTargets)
{
throw new NotImplementedException();