2021-01-20 03:33:27 +00:00
|
|
|
namespace MoonWorks.Graphics
|
|
|
|
{
|
|
|
|
public struct RasterizerState
|
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
public CullMode CullMode;
|
2021-01-20 03:33:27 +00:00
|
|
|
public float DepthBiasClamp;
|
|
|
|
public float DepthBiasConstantFactor;
|
|
|
|
public bool DepthBiasEnable;
|
|
|
|
public float DepthBiasSlopeFactor;
|
|
|
|
public bool DepthClampEnable;
|
2021-01-27 01:39:20 +00:00
|
|
|
public FillMode FillMode;
|
|
|
|
public FrontFace FrontFace;
|
2021-01-20 03:33:27 +00:00
|
|
|
public float LineWidth;
|
|
|
|
|
2021-01-22 01:27:25 +00:00
|
|
|
public static readonly RasterizerState CW_CullFront = new RasterizerState
|
2021-01-20 03:33:27 +00:00
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.Front,
|
|
|
|
FrontFace = FrontFace.Clockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-20 03:33:27 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
|
|
|
|
2021-01-22 01:27:25 +00:00
|
|
|
public static readonly RasterizerState CW_CullBack = new RasterizerState
|
2021-01-20 03:33:27 +00:00
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.Back,
|
|
|
|
FrontFace = FrontFace.Clockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-20 03:33:27 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
|
|
|
|
2021-01-22 01:27:25 +00:00
|
|
|
public static readonly RasterizerState CW_CullNone = new RasterizerState
|
2021-01-20 03:33:27 +00:00
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.None,
|
|
|
|
FrontFace = FrontFace.Clockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-20 03:33:27 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
|
|
|
|
2021-01-22 01:27:25 +00:00
|
|
|
public static readonly RasterizerState CW_Wireframe = new RasterizerState
|
2021-01-20 03:33:27 +00:00
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.None,
|
|
|
|
FrontFace = FrontFace.Clockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-20 03:33:27 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
2021-01-22 01:27:25 +00:00
|
|
|
|
|
|
|
public static readonly RasterizerState CCW_CullFront = new RasterizerState
|
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.Front,
|
|
|
|
FrontFace = FrontFace.CounterClockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-22 01:27:25 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
|
|
|
|
|
|
|
public static readonly RasterizerState CCW_CullBack = new RasterizerState
|
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.Back,
|
|
|
|
FrontFace = FrontFace.CounterClockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-22 01:27:25 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
|
|
|
|
|
|
|
public static readonly RasterizerState CCW_CullNone = new RasterizerState
|
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.None,
|
|
|
|
FrontFace = FrontFace.CounterClockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-22 01:27:25 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
|
|
|
|
|
|
|
public static readonly RasterizerState CCW_Wireframe = new RasterizerState
|
|
|
|
{
|
2021-01-27 01:39:20 +00:00
|
|
|
CullMode = CullMode.None,
|
|
|
|
FrontFace = FrontFace.CounterClockwise,
|
|
|
|
FillMode = FillMode.Fill,
|
2021-01-22 01:27:25 +00:00
|
|
|
DepthBiasEnable = false,
|
|
|
|
LineWidth = 1f
|
|
|
|
};
|
2021-01-20 03:33:27 +00:00
|
|
|
}
|
|
|
|
}
|