54 lines
2.0 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);
INativeVertexBuffer CreateVertexBuffer(GraphicsDevice graphics,
VertexBuffer 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);
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);
ReadOnlyCollection<GraphicsAdapter> GetAdapterList();
}
2011-10-31 05:36:24 +00:00
}