55 lines
2.4 KiB
C#
Raw Normal View History

using System.Collections.ObjectModel;
using System.IO;
using ANX.Framework.Graphics;
using ANX.Framework.NonXNA.RenderSystem;
2011-10-31 05:36:24 +00:00
// 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
2011-10-31 05:36:24 +00:00
namespace ANX.Framework.NonXNA
2011-10-31 05:36:24 +00:00
{
public interface IRenderSystemCreator : ICreator
{
INativeGraphicsDevice CreateGraphicsDevice(PresentationParameters presentationParameters);
2011-10-31 05:36:24 +00:00
INativeTexture2D CreateTexture(GraphicsDevice graphics, SurfaceFormat surfaceFormat, int width, int height, int mipCount);
2011-10-31 05:36:24 +00:00
INativeRenderTarget2D CreateRenderTarget(GraphicsDevice graphics, int width, int height, bool mipMap,
SurfaceFormat preferredFormat, DepthFormat preferredDepthFormat, int preferredMultiSampleCount,
RenderTargetUsage usage);
2011-10-31 05:36:24 +00:00
INativeIndexBuffer CreateIndexBuffer(GraphicsDevice graphics, IndexBuffer managedBuffer, IndexElementSize size, int indexCount, BufferUsage usage);
INativeIndexBuffer CreateDynamicIndexBuffer(GraphicsDevice graphics, IndexBuffer managedBuffer, IndexElementSize size, int indexCount, BufferUsage usage);
INativeVertexBuffer CreateVertexBuffer(GraphicsDevice graphics, VertexBuffer managedBuffer, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage);
INativeVertexBuffer CreateDynamicVertexBuffer(GraphicsDevice graphics, DynamicVertexBuffer managedBuffer, VertexDeclaration vertexDeclaration, int vertexCount, BufferUsage usage);
2011-10-31 05:36:24 +00:00
#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, Stream vertexShaderByteCode,
Stream pixelShaderByteCode);
IOcclusionQuery CreateOcclusionQuery();
2011-10-31 05:36:24 +00:00
bool IsLanguageSupported(EffectSourceLanguage sourceLanguage);
INativeBlendState CreateBlendState();
INativeRasterizerState CreateRasterizerState();
INativeDepthStencilState CreateDepthStencilState();
INativeSamplerState CreateSamplerState();
2011-10-31 05:36:24 +00:00
byte[] GetShaderByteCode(PreDefinedShader type);
EffectSourceLanguage GetStockShaderSourceLanguage { get; }
ReadOnlyCollection<GraphicsAdapter> GetAdapterList();
void SetTextureSampler(int index, Texture value);
}
2011-10-31 05:36:24 +00:00
}