forked from MoonsideGames/MoonWorks
change refs + a SetData convenience method
parent
a6ea645e91
commit
db44c3e37a
|
@ -1 +1 @@
|
||||||
Subproject commit ba183e8c0f9d21e4397d76941078b4969d4f6686
|
Subproject commit 718aaad80ebf075192e05bf7af97241d7cf7e726
|
|
@ -19,8 +19,8 @@ namespace MoonWorks.Graphics
|
||||||
public unsafe void BeginRenderPass(
|
public unsafe void BeginRenderPass(
|
||||||
RenderPass renderPass,
|
RenderPass renderPass,
|
||||||
Framebuffer framebuffer,
|
Framebuffer framebuffer,
|
||||||
ref Rect renderArea,
|
in Rect renderArea,
|
||||||
ref DepthStencilValue depthStencilClearValue,
|
in DepthStencilValue depthStencilClearValue,
|
||||||
params Color[] clearColors
|
params Color[] clearColors
|
||||||
) {
|
) {
|
||||||
var refreshRenderArea = renderArea.ToRefresh();
|
var refreshRenderArea = renderArea.ToRefresh();
|
||||||
|
@ -33,10 +33,10 @@ namespace MoonWorks.Graphics
|
||||||
Handle,
|
Handle,
|
||||||
renderPass.Handle,
|
renderPass.Handle,
|
||||||
framebuffer.Handle,
|
framebuffer.Handle,
|
||||||
ref refreshRenderArea,
|
refreshRenderArea,
|
||||||
(IntPtr) clearColorPtr,
|
(IntPtr) clearColorPtr,
|
||||||
(uint)clearColors.Length,
|
(uint)clearColors.Length,
|
||||||
ref refreshDepthStencilClearValue
|
refreshDepthStencilClearValue
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ namespace MoonWorks.Graphics
|
||||||
public unsafe void BeginRenderPass(
|
public unsafe void BeginRenderPass(
|
||||||
RenderPass renderPass,
|
RenderPass renderPass,
|
||||||
Framebuffer framebuffer,
|
Framebuffer framebuffer,
|
||||||
ref Rect renderArea,
|
in Rect renderArea,
|
||||||
params Color[] clearColors
|
params Color[] clearColors
|
||||||
) {
|
) {
|
||||||
var refreshRenderArea = renderArea.ToRefresh();
|
var refreshRenderArea = renderArea.ToRefresh();
|
||||||
|
@ -56,7 +56,7 @@ namespace MoonWorks.Graphics
|
||||||
Handle,
|
Handle,
|
||||||
renderPass.Handle,
|
renderPass.Handle,
|
||||||
framebuffer.Handle,
|
framebuffer.Handle,
|
||||||
ref refreshRenderArea,
|
refreshRenderArea,
|
||||||
(IntPtr) clearColorPtr,
|
(IntPtr) clearColorPtr,
|
||||||
(uint) clearColors.Length,
|
(uint) clearColors.Length,
|
||||||
IntPtr.Zero
|
IntPtr.Zero
|
||||||
|
@ -246,18 +246,18 @@ namespace MoonWorks.Graphics
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Clear(
|
public void Clear(
|
||||||
ref Refresh.Rect clearRect,
|
in Refresh.Rect clearRect,
|
||||||
Refresh.ClearOptionsFlags clearOptions,
|
Refresh.ClearOptionsFlags clearOptions,
|
||||||
ref Refresh.Color[] colors,
|
in Refresh.Color[] colors,
|
||||||
float depth,
|
float depth,
|
||||||
int stencil
|
int stencil
|
||||||
) {
|
) {
|
||||||
Refresh.Refresh_Clear(
|
Refresh.Refresh_Clear(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref clearRect,
|
in clearRect,
|
||||||
clearOptions,
|
clearOptions,
|
||||||
ref colors,
|
in colors,
|
||||||
(uint) colors.Length,
|
(uint) colors.Length,
|
||||||
depth,
|
depth,
|
||||||
stencil
|
stencil
|
||||||
|
@ -351,8 +351,8 @@ namespace MoonWorks.Graphics
|
||||||
Refresh.Refresh_QueuePresent(
|
Refresh.Refresh_QueuePresent(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref refreshTextureSlice,
|
refreshTextureSlice,
|
||||||
ref refreshRect,
|
refreshRect,
|
||||||
(Refresh.Filter)filter
|
(Refresh.Filter)filter
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -368,8 +368,8 @@ namespace MoonWorks.Graphics
|
||||||
Refresh.Refresh_QueuePresent(
|
Refresh.Refresh_QueuePresent(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref refreshTextureSlice,
|
refreshTextureSlice,
|
||||||
ref refreshRect,
|
refreshRect,
|
||||||
(Refresh.Filter) filter
|
(Refresh.Filter) filter
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -378,12 +378,10 @@ namespace MoonWorks.Graphics
|
||||||
in TextureSlice textureSlice,
|
in TextureSlice textureSlice,
|
||||||
Filter filter
|
Filter filter
|
||||||
) {
|
) {
|
||||||
var refreshTextureSlice = textureSlice.ToRefreshTextureSlice();
|
|
||||||
|
|
||||||
Refresh.Refresh_QueuePresent(
|
Refresh.Refresh_QueuePresent(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref refreshTextureSlice,
|
textureSlice.ToRefreshTextureSlice(),
|
||||||
IntPtr.Zero,
|
IntPtr.Zero,
|
||||||
(Refresh.Filter) filter
|
(Refresh.Filter) filter
|
||||||
);
|
);
|
||||||
|
@ -411,7 +409,7 @@ namespace MoonWorks.Graphics
|
||||||
Refresh.Refresh_QueuePresent(
|
Refresh.Refresh_QueuePresent(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref refreshTextureSlice,
|
refreshTextureSlice,
|
||||||
IntPtr.Zero,
|
IntPtr.Zero,
|
||||||
(Refresh.Filter) filter
|
(Refresh.Filter) filter
|
||||||
);
|
);
|
||||||
|
@ -428,8 +426,8 @@ namespace MoonWorks.Graphics
|
||||||
Refresh.Refresh_CopyTextureToTexture(
|
Refresh.Refresh_CopyTextureToTexture(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref sourceRefreshTextureSlice,
|
sourceRefreshTextureSlice,
|
||||||
ref destRefreshTextureSlice,
|
destRefreshTextureSlice,
|
||||||
(Refresh.Filter) filter
|
(Refresh.Filter) filter
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -443,7 +441,7 @@ namespace MoonWorks.Graphics
|
||||||
Refresh.Refresh_CopyTextureToBuffer(
|
Refresh.Refresh_CopyTextureToBuffer(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
Handle,
|
Handle,
|
||||||
ref refreshTextureSlice,
|
refreshTextureSlice,
|
||||||
buffer.Handle
|
buffer.Handle
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ namespace MoonWorks.Graphics
|
||||||
};
|
};
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateDevice(
|
Handle = Refresh.Refresh_CreateDevice(
|
||||||
ref presentationParameters,
|
presentationParameters,
|
||||||
Conversions.BoolToByte(debugMode)
|
Conversions.BoolToByte(debugMode)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -99,4 +99,31 @@ namespace MoonWorks.Graphics
|
||||||
public LoadOp stencilLoadOp;
|
public LoadOp stencilLoadOp;
|
||||||
public StoreOp stencilStoreOp;
|
public StoreOp stencilStoreOp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
public struct StencilOpState
|
||||||
|
{
|
||||||
|
public StencilOp failOp;
|
||||||
|
public StencilOp passOp;
|
||||||
|
public StencilOp depthFailOp;
|
||||||
|
public CompareOp compareOp;
|
||||||
|
public uint compareMask;
|
||||||
|
public uint writeMask;
|
||||||
|
public uint reference;
|
||||||
|
|
||||||
|
// FIXME: can we do an explicit cast here?
|
||||||
|
public Refresh.StencilOpState ToRefresh()
|
||||||
|
{
|
||||||
|
return new Refresh.StencilOpState
|
||||||
|
{
|
||||||
|
failOp = (Refresh.StencilOp)failOp,
|
||||||
|
passOp = (Refresh.StencilOp)passOp,
|
||||||
|
depthFailOp = (Refresh.StencilOp)depthFailOp,
|
||||||
|
compareOp = (Refresh.CompareOp)compareOp,
|
||||||
|
compareMask = compareMask,
|
||||||
|
writeMask = writeMask,
|
||||||
|
reference = reference
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using RefreshCS;
|
using RefreshCS;
|
||||||
|
|
||||||
namespace MoonWorks.Graphics
|
namespace MoonWorks.Graphics
|
||||||
|
@ -38,6 +39,22 @@ namespace MoonWorks.Graphics
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public unsafe void SetData<T>(
|
||||||
|
T[] data
|
||||||
|
) where T : unmanaged
|
||||||
|
{
|
||||||
|
fixed (T* ptr = &data[0])
|
||||||
|
{
|
||||||
|
Refresh.Refresh_SetBufferData(
|
||||||
|
Device.Handle,
|
||||||
|
Handle,
|
||||||
|
0,
|
||||||
|
(IntPtr)ptr,
|
||||||
|
(uint) (data.Length * Marshal.SizeOf<T>())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public unsafe void SetData<T>(
|
public unsafe void SetData<T>(
|
||||||
uint offsetInBytes,
|
uint offsetInBytes,
|
||||||
T* data,
|
T* data,
|
||||||
|
|
|
@ -40,11 +40,10 @@ namespace MoonWorks.Graphics
|
||||||
|
|
||||||
public ColorTarget(GraphicsDevice device, SampleCount sampleCount, ref TextureSlice textureSlice) : base(device)
|
public ColorTarget(GraphicsDevice device, SampleCount sampleCount, ref TextureSlice textureSlice) : base(device)
|
||||||
{
|
{
|
||||||
var refreshTextureSlice = textureSlice.ToRefreshTextureSlice();
|
|
||||||
Handle = Refresh.Refresh_CreateColorTarget(
|
Handle = Refresh.Refresh_CreateColorTarget(
|
||||||
device.Handle,
|
device.Handle,
|
||||||
(Refresh.SampleCount) sampleCount,
|
(Refresh.SampleCount) sampleCount,
|
||||||
ref refreshTextureSlice
|
textureSlice.ToRefreshTextureSlice()
|
||||||
);
|
);
|
||||||
TextureSlice = textureSlice;
|
TextureSlice = textureSlice;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ namespace MoonWorks.Graphics
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateComputePipeline(
|
Handle = Refresh.Refresh_CreateComputePipeline(
|
||||||
device.Handle,
|
device.Handle,
|
||||||
ref computePipelineCreateInfo
|
computePipelineCreateInfo
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ namespace MoonWorks.Graphics
|
||||||
renderPass = renderPass.Handle
|
renderPass = renderPass.Handle
|
||||||
};
|
};
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateFramebuffer(device.Handle, ref framebufferCreateInfo);
|
Handle = Refresh.Refresh_CreateFramebuffer(device.Handle, framebufferCreateInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,12 +46,12 @@ namespace MoonWorks.Graphics
|
||||||
graphicsPipelineCreateInfo.colorBlendState.blendConstants[2] = colorBlendState.BlendConstants.B;
|
graphicsPipelineCreateInfo.colorBlendState.blendConstants[2] = colorBlendState.BlendConstants.B;
|
||||||
graphicsPipelineCreateInfo.colorBlendState.blendConstants[3] = colorBlendState.BlendConstants.A;
|
graphicsPipelineCreateInfo.colorBlendState.blendConstants[3] = colorBlendState.BlendConstants.A;
|
||||||
|
|
||||||
graphicsPipelineCreateInfo.depthStencilState.backStencilState = depthStencilState.BackStencilState;
|
graphicsPipelineCreateInfo.depthStencilState.backStencilState = depthStencilState.BackStencilState.ToRefresh();
|
||||||
graphicsPipelineCreateInfo.depthStencilState.compareOp = depthStencilState.CompareOp;
|
graphicsPipelineCreateInfo.depthStencilState.compareOp = (Refresh.CompareOp) depthStencilState.CompareOp;
|
||||||
graphicsPipelineCreateInfo.depthStencilState.depthBoundsTestEnable = Conversions.BoolToByte(depthStencilState.DepthBoundsTestEnable);
|
graphicsPipelineCreateInfo.depthStencilState.depthBoundsTestEnable = Conversions.BoolToByte(depthStencilState.DepthBoundsTestEnable);
|
||||||
graphicsPipelineCreateInfo.depthStencilState.depthTestEnable = Conversions.BoolToByte(depthStencilState.DepthTestEnable);
|
graphicsPipelineCreateInfo.depthStencilState.depthTestEnable = Conversions.BoolToByte(depthStencilState.DepthTestEnable);
|
||||||
graphicsPipelineCreateInfo.depthStencilState.depthWriteEnable = Conversions.BoolToByte(depthStencilState.DepthWriteEnable);
|
graphicsPipelineCreateInfo.depthStencilState.depthWriteEnable = Conversions.BoolToByte(depthStencilState.DepthWriteEnable);
|
||||||
graphicsPipelineCreateInfo.depthStencilState.frontStencilState = depthStencilState.FrontStencilState;
|
graphicsPipelineCreateInfo.depthStencilState.frontStencilState = depthStencilState.FrontStencilState.ToRefresh();
|
||||||
graphicsPipelineCreateInfo.depthStencilState.maxDepthBounds = depthStencilState.MaxDepthBounds;
|
graphicsPipelineCreateInfo.depthStencilState.maxDepthBounds = depthStencilState.MaxDepthBounds;
|
||||||
graphicsPipelineCreateInfo.depthStencilState.minDepthBounds = depthStencilState.MinDepthBounds;
|
graphicsPipelineCreateInfo.depthStencilState.minDepthBounds = depthStencilState.MinDepthBounds;
|
||||||
graphicsPipelineCreateInfo.depthStencilState.stencilTestEnable = Conversions.BoolToByte(depthStencilState.StencilTestEnable);
|
graphicsPipelineCreateInfo.depthStencilState.stencilTestEnable = Conversions.BoolToByte(depthStencilState.StencilTestEnable);
|
||||||
|
@ -93,7 +93,7 @@ namespace MoonWorks.Graphics
|
||||||
graphicsPipelineCreateInfo.primitiveType = (Refresh.PrimitiveType) primitiveType;
|
graphicsPipelineCreateInfo.primitiveType = (Refresh.PrimitiveType) primitiveType;
|
||||||
graphicsPipelineCreateInfo.renderPass = renderPass.Handle;
|
graphicsPipelineCreateInfo.renderPass = renderPass.Handle;
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateGraphicsPipeline(device.Handle, ref graphicsPipelineCreateInfo);
|
Handle = Refresh.Refresh_CreateGraphicsPipeline(device.Handle, graphicsPipelineCreateInfo);
|
||||||
|
|
||||||
vertexAttributesHandle.Free();
|
vertexAttributesHandle.Free();
|
||||||
vertexBindingsHandle.Free();
|
vertexBindingsHandle.Free();
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace MoonWorks.Graphics
|
||||||
renderPassCreateInfo.colorTargetDescriptions = (IntPtr) ptr;
|
renderPassCreateInfo.colorTargetDescriptions = (IntPtr) ptr;
|
||||||
renderPassCreateInfo.depthStencilTargetDescription = IntPtr.Zero;
|
renderPassCreateInfo.depthStencilTargetDescription = IntPtr.Zero;
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateRenderPass(device.Handle, ref renderPassCreateInfo);
|
Handle = Refresh.Refresh_CreateRenderPass(device.Handle, renderPassCreateInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ namespace MoonWorks.Graphics
|
||||||
renderPassCreateInfo.colorTargetDescriptions = (IntPtr)colorPtr;
|
renderPassCreateInfo.colorTargetDescriptions = (IntPtr)colorPtr;
|
||||||
renderPassCreateInfo.depthStencilTargetDescription = (IntPtr) depthStencilPtr;
|
renderPassCreateInfo.depthStencilTargetDescription = (IntPtr) depthStencilPtr;
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateRenderPass(device.Handle, ref renderPassCreateInfo);
|
Handle = Refresh.Refresh_CreateRenderPass(device.Handle, renderPassCreateInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,11 +12,9 @@ namespace MoonWorks.Graphics
|
||||||
ref SamplerState samplerState
|
ref SamplerState samplerState
|
||||||
) : base(device)
|
) : base(device)
|
||||||
{
|
{
|
||||||
var refreshSamplerStateCreateInfo = samplerState.ToRefreshSamplerStateCreateInfo();
|
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateSampler(
|
Handle = Refresh.Refresh_CreateSampler(
|
||||||
device.Handle,
|
device.Handle,
|
||||||
ref refreshSamplerStateCreateInfo
|
samplerState.ToRefreshSamplerStateCreateInfo()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace MoonWorks.Graphics
|
||||||
shaderModuleCreateInfo.codeSize = (UIntPtr) fileInfo.Length;
|
shaderModuleCreateInfo.codeSize = (UIntPtr) fileInfo.Length;
|
||||||
shaderModuleCreateInfo.byteCode = (IntPtr) ptr;
|
shaderModuleCreateInfo.byteCode = (IntPtr) ptr;
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateShaderModule(device.Handle, ref shaderModuleCreateInfo);
|
Handle = Refresh.Refresh_CreateShaderModule(device.Handle, shaderModuleCreateInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,11 +124,9 @@ namespace MoonWorks.Graphics
|
||||||
|
|
||||||
public Texture(GraphicsDevice device, ref TextureCreateInfo textureCreateInfo) : base(device)
|
public Texture(GraphicsDevice device, ref TextureCreateInfo textureCreateInfo) : base(device)
|
||||||
{
|
{
|
||||||
var refreshTextureCreateInfo = textureCreateInfo.ToRefreshTextureCreateInfo();
|
|
||||||
|
|
||||||
Handle = Refresh.Refresh_CreateTexture(
|
Handle = Refresh.Refresh_CreateTexture(
|
||||||
device.Handle,
|
device.Handle,
|
||||||
ref refreshTextureCreateInfo
|
textureCreateInfo.ToRefreshTextureCreateInfo()
|
||||||
);
|
);
|
||||||
|
|
||||||
Format = textureCreateInfo.Format;
|
Format = textureCreateInfo.Format;
|
||||||
|
@ -150,7 +148,7 @@ namespace MoonWorks.Graphics
|
||||||
|
|
||||||
Refresh.Refresh_SetTextureData(
|
Refresh.Refresh_SetTextureData(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
ref textureSlice,
|
textureSlice,
|
||||||
data,
|
data,
|
||||||
dataLengthInBytes
|
dataLengthInBytes
|
||||||
);
|
);
|
||||||
|
@ -162,7 +160,7 @@ namespace MoonWorks.Graphics
|
||||||
|
|
||||||
Refresh.Refresh_SetTextureData(
|
Refresh.Refresh_SetTextureData(
|
||||||
Device.Handle,
|
Device.Handle,
|
||||||
ref refreshTextureSlice,
|
refreshTextureSlice,
|
||||||
data,
|
data,
|
||||||
dataLengthInBytes
|
dataLengthInBytes
|
||||||
);
|
);
|
||||||
|
|
|
@ -5,9 +5,9 @@ namespace MoonWorks.Graphics
|
||||||
public struct DepthStencilState
|
public struct DepthStencilState
|
||||||
{
|
{
|
||||||
public bool DepthTestEnable;
|
public bool DepthTestEnable;
|
||||||
public Refresh.StencilOpState BackStencilState;
|
public StencilOpState BackStencilState;
|
||||||
public Refresh.StencilOpState FrontStencilState;
|
public StencilOpState FrontStencilState;
|
||||||
public Refresh.CompareOp CompareOp;
|
public CompareOp CompareOp;
|
||||||
public bool DepthBoundsTestEnable;
|
public bool DepthBoundsTestEnable;
|
||||||
public bool DepthWriteEnable;
|
public bool DepthWriteEnable;
|
||||||
public float MinDepthBounds;
|
public float MinDepthBounds;
|
||||||
|
@ -20,7 +20,7 @@ namespace MoonWorks.Graphics
|
||||||
DepthWriteEnable = true,
|
DepthWriteEnable = true,
|
||||||
DepthBoundsTestEnable = false,
|
DepthBoundsTestEnable = false,
|
||||||
StencilTestEnable = false,
|
StencilTestEnable = false,
|
||||||
CompareOp = Refresh.CompareOp.LessOrEqual
|
CompareOp = CompareOp.LessOrEqual
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly DepthStencilState DepthRead = new DepthStencilState
|
public static readonly DepthStencilState DepthRead = new DepthStencilState
|
||||||
|
@ -29,7 +29,7 @@ namespace MoonWorks.Graphics
|
||||||
DepthWriteEnable = false,
|
DepthWriteEnable = false,
|
||||||
DepthBoundsTestEnable = false,
|
DepthBoundsTestEnable = false,
|
||||||
StencilTestEnable = false,
|
StencilTestEnable = false,
|
||||||
CompareOp = Refresh.CompareOp.LessOrEqual
|
CompareOp = CompareOp.LessOrEqual
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly DepthStencilState Disable = new DepthStencilState
|
public static readonly DepthStencilState Disable = new DepthStencilState
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace MoonWorks.Graphics
|
||||||
public Refresh.FrontFace FrontFace;
|
public Refresh.FrontFace FrontFace;
|
||||||
public float LineWidth;
|
public float LineWidth;
|
||||||
|
|
||||||
public static readonly RasterizerState CullClockwise = new RasterizerState
|
public static readonly RasterizerState CW_CullFront = new RasterizerState
|
||||||
{
|
{
|
||||||
CullMode = Refresh.CullMode.Front,
|
CullMode = Refresh.CullMode.Front,
|
||||||
FrontFace = Refresh.FrontFace.Clockwise,
|
FrontFace = Refresh.FrontFace.Clockwise,
|
||||||
|
@ -23,7 +23,7 @@ namespace MoonWorks.Graphics
|
||||||
LineWidth = 1f
|
LineWidth = 1f
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly RasterizerState CullCounterClockwise = new RasterizerState
|
public static readonly RasterizerState CW_CullBack = new RasterizerState
|
||||||
{
|
{
|
||||||
CullMode = Refresh.CullMode.Back,
|
CullMode = Refresh.CullMode.Back,
|
||||||
FrontFace = Refresh.FrontFace.Clockwise,
|
FrontFace = Refresh.FrontFace.Clockwise,
|
||||||
|
@ -32,7 +32,7 @@ namespace MoonWorks.Graphics
|
||||||
LineWidth = 1f
|
LineWidth = 1f
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly RasterizerState CullNone = new RasterizerState
|
public static readonly RasterizerState CW_CullNone = new RasterizerState
|
||||||
{
|
{
|
||||||
CullMode = Refresh.CullMode.None,
|
CullMode = Refresh.CullMode.None,
|
||||||
FrontFace = Refresh.FrontFace.Clockwise,
|
FrontFace = Refresh.FrontFace.Clockwise,
|
||||||
|
@ -41,7 +41,7 @@ namespace MoonWorks.Graphics
|
||||||
LineWidth = 1f
|
LineWidth = 1f
|
||||||
};
|
};
|
||||||
|
|
||||||
public static readonly RasterizerState Wireframe = new RasterizerState
|
public static readonly RasterizerState CW_Wireframe = new RasterizerState
|
||||||
{
|
{
|
||||||
CullMode = Refresh.CullMode.None,
|
CullMode = Refresh.CullMode.None,
|
||||||
FrontFace = Refresh.FrontFace.Clockwise,
|
FrontFace = Refresh.FrontFace.Clockwise,
|
||||||
|
@ -49,5 +49,41 @@ namespace MoonWorks.Graphics
|
||||||
DepthBiasEnable = false,
|
DepthBiasEnable = false,
|
||||||
LineWidth = 1f
|
LineWidth = 1f
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static readonly RasterizerState CCW_CullFront = new RasterizerState
|
||||||
|
{
|
||||||
|
CullMode = Refresh.CullMode.Front,
|
||||||
|
FrontFace = Refresh.FrontFace.CounterClockwise,
|
||||||
|
FillMode = Refresh.FillMode.Fill,
|
||||||
|
DepthBiasEnable = false,
|
||||||
|
LineWidth = 1f
|
||||||
|
};
|
||||||
|
|
||||||
|
public static readonly RasterizerState CCW_CullBack = new RasterizerState
|
||||||
|
{
|
||||||
|
CullMode = Refresh.CullMode.Back,
|
||||||
|
FrontFace = Refresh.FrontFace.CounterClockwise,
|
||||||
|
FillMode = Refresh.FillMode.Fill,
|
||||||
|
DepthBiasEnable = false,
|
||||||
|
LineWidth = 1f
|
||||||
|
};
|
||||||
|
|
||||||
|
public static readonly RasterizerState CCW_CullNone = new RasterizerState
|
||||||
|
{
|
||||||
|
CullMode = Refresh.CullMode.None,
|
||||||
|
FrontFace = Refresh.FrontFace.CounterClockwise,
|
||||||
|
FillMode = Refresh.FillMode.Fill,
|
||||||
|
DepthBiasEnable = false,
|
||||||
|
LineWidth = 1f
|
||||||
|
};
|
||||||
|
|
||||||
|
public static readonly RasterizerState CCW_Wireframe = new RasterizerState
|
||||||
|
{
|
||||||
|
CullMode = Refresh.CullMode.None,
|
||||||
|
FrontFace = Refresh.FrontFace.CounterClockwise,
|
||||||
|
FillMode = Refresh.FillMode.Fill,
|
||||||
|
DepthBiasEnable = false,
|
||||||
|
LineWidth = 1f
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue