Remove build message saying that a content file is still valid and will be skipped. Use OnApply for Effects, instead of an internal PreBindSetParameters. Removed unnecessary dependencies from EffectParameterCollection and EffectTechniqueCollection. Moved Apply from INativeEffect to INativeEffectPass as Apply can only be called on an EffectPass. Added IDisposable to many Native object interfaces. Added an InputLayoutManager so the InputLayouts don't get created on every call. Increased the amount of shared code for the GraphicsDevice between DX10 and DX11. Simplified the amount of stuff the Draw calls do. It's possible to use specific renderPasses when drawing and the drawing methods of the GraphicsDevice don't draw all effectPasses of an effec anymore. Fixed the bug that a DynamicVertexBuffer created a staging buffer when setting Elements for DX10 and DX11, which was unnecessary. Also it didn't create a staging before for normal VertexBuffers which made it not possible to set data there. Implement EffectAnnotations for DX10. Fixed SetRenderTargets for DX11.
53 lines
2.1 KiB
C#
53 lines
2.1 KiB
C#
using System;
|
|
using ANX.Framework.Graphics;
|
|
|
|
// 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
|
|
{
|
|
public interface INativeGraphicsDevice : IDisposable
|
|
{
|
|
void Clear(ClearOptions options, Vector4 color, float depth, int stencil);
|
|
|
|
void Present();
|
|
|
|
void Present(Rectangle? sourceRectangle, Rectangle? destinationRectangle, WindowHandle overrideWindowHandle);
|
|
|
|
void DrawIndexedPrimitives(PrimitiveType primitiveType, int baseVertex, int minVertexIndex, int numVertices, int startIndex, int primitiveCount);
|
|
|
|
void DrawInstancedPrimitives(PrimitiveType primitiveType, int baseVertex, int minVertexIndex, int numVertices, int startIndex, int primitiveCount, int instanceCount);
|
|
|
|
void DrawUserIndexedPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int numVertices,
|
|
Array indexData, int indexOffset, int primitiveCount, VertexDeclaration vertexDeclaration,
|
|
IndexElementSize indexFormat) where T : struct, IVertexType;
|
|
|
|
void DrawUserPrimitives<T>(PrimitiveType primitiveType, T[] vertexData, int vertexOffset, int primitiveCount,
|
|
VertexDeclaration vertexDeclaration) where T : struct, IVertexType;
|
|
|
|
void DrawPrimitives(PrimitiveType primitiveType, int vertexOffset, int primitiveCount);
|
|
|
|
#if XNAEXT
|
|
void SetConstantBuffer(int slot, ConstantBuffer constantBuffer);
|
|
#endif
|
|
|
|
void SetVertexBuffers(VertexBufferBinding[] vertexBuffers);
|
|
|
|
IndexBuffer IndexBuffer { get; set; }
|
|
|
|
void SetViewport(Viewport viewport);
|
|
|
|
void SetRenderTargets(params RenderTargetBinding[] renderTargets);
|
|
|
|
void GetBackBufferData<T>(Nullable<Rectangle> rect, T[] data, int startIndex, int elementCount) where T : struct;
|
|
void GetBackBufferData<T>(T[] data) where T : struct;
|
|
void GetBackBufferData<T>(T[] data, int startIndex, int elementCount) where T : struct;
|
|
|
|
void ResizeBuffers(PresentationParameters presentationParameters);
|
|
|
|
bool VSync { get; set; }
|
|
Rectangle ScissorRectangle { get; set; }
|
|
}
|
|
}
|