using System; /* Recreate all the enums in here so we don't need to explicitly * reference the RefreshCS namespace when using MoonWorks.Graphics */ namespace MoonWorks.Graphics { public enum PresentMode { Immediate, Mailbox, FIFO, FIFORelaxed } public enum PrimitiveType { PointList, LineList, LineStrip, TriangleList, TriangleStrip } /// /// Describes the operation that a render pass will use when loading a render target. /// public enum LoadOp { Load, Clear, DontCare } /// /// Describes the operation that a render pass will use when storing a render target. /// public enum StoreOp { Store, DontCare } [Flags] public enum ClearOptionsFlags : uint { Color = 1, Depth = 2, Stencil = 4, DepthStencil = Depth | Stencil, All = Color | Depth | Stencil } public enum IndexElementSize { Sixteen, ThirtyTwo } public enum TextureFormat { R8G8B8A8, R5G6B5, A1R5G5B5, B4G4R4A4, BC1, BC2, BC3, R8G8_SNORM, R8G8B8A8_SNORM, A2R10G10B10, R16G16, R16G16B16A16, R8, R32_SFLOAT, R32G32_SFLOAT, R32G32B32A32_SFLOAT, R16_SFLOAT, R16G16_SFLOAT, R16G16B16A16_SFLOAT, D16, D32, D16S8, D32S8 } [Flags] public enum TextureUsageFlags : uint { Sampler = 1, ColorTarget = 2, DepthStencilTarget = 4 } public enum SampleCount { One, Two, Four, Eight, Sixteen, ThirtyTwo, SixtyFour } public enum CubeMapFace : uint { PositiveX, NegativeX, PositiveY, NegativeY, PositiveZ, NegativeZ } [Flags] public enum BufferUsageFlags : uint { Vertex = 1, Index = 2, Compute = 4 } public enum VertexElementFormat { Single, Vector2, Vector3, Vector4, Color, Byte4, Short2, Short4, NormalizedShort2, NormalizedShort4, HalfVector2, HalfVector4 } public enum VertexInputRate { Vertex, Instance } public enum FillMode { Fill, Line, Point } public enum CullMode { None, Front, Back, FrontAndBack } public enum FrontFace { CounterClockwise, Clockwise } public enum CompareOp { Never, Less, Equal, LessOrEqual, Greater, NotEqual, GreaterOrEqual, Always } public enum StencilOp { Keep, Zero, Replace, IncrementAndClamp, DecrementAndClamp, Invert, IncrementAndWrap, DecrementAndWrap } public enum BlendOp { Add, Subtract, ReverseSubtract, Min, Max } public enum LogicOp { Clear, And, AndReverse, Copy, AndInverted, NoOp, Xor, Or, Nor, Equivalent, Invert, OrReverse, CopyInverted, OrInverted, Nand, Set } public enum BlendFactor { Zero, One, SourceColor, OneMinusSourceColor, DestinationColor, OneMinusDestinationColor, SourceAlpha, OneMinusSourceAlpha, DestinationAlpha, OneMinusDestinationAlpha, ConstantColor, OneMinusConstantColor, ConstantAlpha, OneMinusConstantAlpha, SourceAlphaSaturate, SourceOneColor, OneMinusSourceOneColor, SourceOneAlpha, OneMinusSourceOneAlpha } [Flags] public enum ColorComponentFlags : uint { R = 1, G = 2, B = 4, A = 8, RG = R | G, RB = R | B, RA = R | A, GB = G | B, GA = G | A, BA = B | A, RGB = R | G | B, RGA = R | G | A, GBA = G | B | A, RGBA = R | G | B | A, None = 0 } public enum ShaderStageType { Vertex, Fragment } public enum Filter { Nearest, Linear, Cubic } public enum SamplerMipmapMode { Nearest, Linear } public enum SamplerAddressMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder } public enum BorderColor { FloatTransparentBlack, IntTransparentBlack, FloatOpaqueBlack, IntOpaqueBlack, FloatOpaqueWhite, IntOpaqueWhite } }