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); 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) public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{ {
throw new NotImplementedException(); throw new NotImplementedException();

View File

@ -219,16 +219,6 @@ namespace ANX.Framework.Windows.GL3
#endregion #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) public void SetRenderTargets(params RenderTargetBinding[] renderTargets)
{ {
throw new NotImplementedException(); throw new NotImplementedException();

View File

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

View File

@ -54,6 +54,42 @@ namespace ANX.Framework.Graphics
{ {
public struct RenderTargetBinding 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 DrawPrimitives(PrimitiveType primitiveType, int vertexOffset, int primitiveCount);
//void SetVertexBuffer(VertexBuffer vertexBuffer);
//void SetVertexBuffer(VertexBuffer vertexBuffer, int vertexOffset);
void SetVertexBuffers(VertexBufferBinding[] vertexBuffers); void SetVertexBuffers(VertexBufferBinding[] vertexBuffers);
void SetIndexBuffer(IndexBuffer indexBuffer); void SetIndexBuffer(IndexBuffer indexBuffer);
void SetViewport(Viewport viewport); void SetViewport(Viewport viewport);
void SetRenderTarget(RenderTarget2D renderTarget);
void SetRenderTarget(RenderTargetCube renderTarget, CubeMapFace cubeMapFace);
void SetRenderTargets(params RenderTargetBinding[] renderTargets); void SetRenderTargets(params RenderTargetBinding[] renderTargets);
} }
} }

View File

@ -589,18 +589,6 @@ namespace ANX.RenderSystem.Windows.DX11_1
return Comparison.Always; 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) public void SetRenderTargets(params Framework.Graphics.RenderTargetBinding[] renderTargets)
{ {
throw new NotImplementedException(); throw new NotImplementedException();