1
0
mirror of https://github.com/Memorix101/UnityXNA/ synced 2024-12-30 15:25:35 +01:00
F.Fischer 84e019207b -additional classes added
-SpriteBatch update to support more drawing functions
-Components added
2012-07-10 00:29:01 +02:00

75 lines
2.5 KiB
C#

using System;
using System.Diagnostics;
namespace Microsoft.Xna.Framework.Graphics
{
public class DepthStencilState : GraphicsResource
{
// TODO: We should be asserting if the state has
// been changed after it has been bound to the device!
public bool DepthBufferEnable { get; set; }
public bool DepthBufferWriteEnable { get; set; }
public StencilOperation CounterClockwiseStencilDepthBufferFail { get; set; }
public StencilOperation CounterClockwiseStencilFail { get; set; }
public CompareFunction CounterClockwiseStencilFunction { get; set; }
public StencilOperation CounterClockwiseStencilPass { get; set; }
public CompareFunction DepthBufferFunction { get; set; }
public int ReferenceStencil { get; set; }
public StencilOperation StencilDepthBufferFail { get; set; }
public bool StencilEnable { get; set; }
public StencilOperation StencilFail { get; set; }
public CompareFunction StencilFunction { get; set; }
public int StencilMask { get; set; }
public StencilOperation StencilPass { get; set; }
public int StencilWriteMask { get; set; }
public bool TwoSidedStencilMode { get; set; }
public DepthStencilState ()
{
DepthBufferEnable = true;
DepthBufferWriteEnable = true;
DepthBufferFunction = CompareFunction.LessEqual;
StencilEnable = false;
StencilFunction = CompareFunction.Always;
StencilPass = StencilOperation.Keep;
StencilFail = StencilOperation.Keep;
StencilDepthBufferFail = StencilOperation.Keep;
TwoSidedStencilMode = false;
CounterClockwiseStencilFunction = CompareFunction.Always;
CounterClockwiseStencilFail = StencilOperation.Keep;
CounterClockwiseStencilPass = StencilOperation.Keep;
CounterClockwiseStencilDepthBufferFail = StencilOperation.Keep;
StencilMask = Int32.MaxValue;
StencilWriteMask = Int32.MaxValue;
ReferenceStencil = 0;
}
public static readonly DepthStencilState Default;
public static readonly DepthStencilState DepthRead;
public static readonly DepthStencilState None;
static DepthStencilState ()
{
Default = new DepthStencilState ()
{
DepthBufferEnable = true,
DepthBufferWriteEnable = true
};
DepthRead = new DepthStencilState ()
{
DepthBufferEnable = true,
DepthBufferWriteEnable = false
};
None = new DepthStencilState ()
{
DepthBufferEnable = false,
DepthBufferWriteEnable = false
};
}
}
}