mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
50 lines
1.2 KiB
Beef
50 lines
1.2 KiB
Beef
using GlitchyEngine.Math;
|
|
|
|
using internal GlitchyEngine.Renderer;
|
|
|
|
namespace GlitchyEngine.Renderer
|
|
{
|
|
using internal GlitchyEngine.Renderer;
|
|
|
|
extension RendererAPI
|
|
{
|
|
private GraphicsContext _context;
|
|
|
|
public GraphicsContext Context
|
|
{
|
|
get => _context;
|
|
set => _context = value;
|
|
}
|
|
|
|
public static override API Api => .D3D11;
|
|
|
|
public override void Init()
|
|
{
|
|
|
|
}
|
|
|
|
public override void Clear(RenderTarget2D renderTarget, ColorRGBA clearColor)
|
|
{
|
|
_context.ClearRenderTarget(renderTarget, clearColor);
|
|
}
|
|
|
|
public override void Clear(DepthStencilTarget target, float depthValue, uint8 stencilValue, DepthStencilClearFlag clearFlags)
|
|
{
|
|
_context.nativeContext.ClearDepthStencilView(target.nativeView, (.)clearFlags, depthValue, stencilValue);
|
|
}
|
|
|
|
public override void DrawIndexed(GeometryBinding geometry)
|
|
{
|
|
if(geometry.IsIndexed)
|
|
_context.DrawIndexed(geometry.IndexCount, geometry.IndexByteOffset, 0);
|
|
else
|
|
_context.Draw(geometry.VertexCount, 0);
|
|
}
|
|
|
|
public override void DrawIndexedInstanced(GeometryBinding geometry)
|
|
{
|
|
_context.nativeContext.DrawIndexedInstanced(geometry.IndexCount, geometry.InstanceCount, geometry.IndexByteOffset, 0, 0);
|
|
}
|
|
}
|
|
}
|