50 lines
1.8 KiB
C#
50 lines
1.8 KiB
C#
using System.Collections.ObjectModel;
|
|
using System.IO;
|
|
using ANX.Framework.Graphics;
|
|
using ANX.Framework.NonXNA.RenderSystem;
|
|
|
|
// 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 IRenderSystemCreator : ICreator
|
|
{
|
|
INativeGraphicsDevice CreateGraphicsDevice(
|
|
PresentationParameters presentationParameters);
|
|
|
|
INativeTexture2D CreateTexture(GraphicsDevice graphics,
|
|
SurfaceFormat surfaceFormat, int width, int height, int mipCount);
|
|
|
|
INativeRenderTarget2D CreateRenderTarget(GraphicsDevice graphics,
|
|
int width, int height, bool mipMap, SurfaceFormat preferredFormat,
|
|
DepthFormat preferredDepthFormat, int preferredMultiSampleCount,
|
|
RenderTargetUsage usage);
|
|
|
|
INativeIndexBuffer CreateIndexBuffer(GraphicsDevice graphics,
|
|
IndexBuffer managedBuffer, IndexElementSize size, int indexCount,
|
|
BufferUsage usage);
|
|
|
|
INativeVertexBuffer CreateVertexBuffer(GraphicsDevice graphics,
|
|
VertexBuffer managedBuffer, VertexDeclaration vertexDeclaration,
|
|
int vertexCount, BufferUsage usage);
|
|
|
|
INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect,
|
|
Stream byteCode);
|
|
INativeEffect CreateEffect(GraphicsDevice graphics, Effect managedEffect,
|
|
Stream vertexShaderByteCode, Stream pixelShaderByteCode);
|
|
|
|
bool IsLanguageSupported(EffectSourceLanguage sourceLanguage);
|
|
|
|
INativeBlendState CreateBlendState();
|
|
INativeRasterizerState CreateRasterizerState();
|
|
INativeDepthStencilState CreateDepthStencilState();
|
|
INativeSamplerState CreateSamplerState();
|
|
|
|
byte[] GetShaderByteCode(PreDefinedShader type);
|
|
|
|
ReadOnlyCollection<GraphicsAdapter> GetAdapterList();
|
|
}
|
|
}
|