mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
Added default SamplerStates
This commit is contained in:
@@ -156,14 +156,89 @@ namespace GlitchyEngine.Renderer
|
|||||||
|
|
||||||
static Dictionary<SamplerStateDescription, SamplerState> _samplers;
|
static Dictionary<SamplerStateDescription, SamplerState> _samplers;
|
||||||
|
|
||||||
|
public static SamplerState PointClamp;
|
||||||
|
public static SamplerState PointWrap;
|
||||||
|
public static SamplerState LinearClamp;
|
||||||
|
public static SamplerState LinearWrap;
|
||||||
|
public static SamplerState AnisotropicClamp;
|
||||||
|
public static SamplerState AnisotropicWrap;
|
||||||
|
|
||||||
public static void Init(GraphicsContext context)
|
public static void Init(GraphicsContext context)
|
||||||
{
|
{
|
||||||
_context = context..AddRef();
|
_context = context..AddRef();
|
||||||
_samplers = new .();
|
_samplers = new .();
|
||||||
|
|
||||||
|
// Init point samplers
|
||||||
|
{
|
||||||
|
var clampDesc = SamplerStateDescription()
|
||||||
|
{
|
||||||
|
MinFilter = .Point,
|
||||||
|
MagFilter = .Point,
|
||||||
|
MipFilter = .Point
|
||||||
|
};
|
||||||
|
PointClamp = GetSampler(clampDesc);
|
||||||
|
|
||||||
|
var wrapDesc = SamplerStateDescription()
|
||||||
|
{
|
||||||
|
MinFilter = .Point,
|
||||||
|
MagFilter = .Point,
|
||||||
|
MipFilter = .Point,
|
||||||
|
AddressModeU = .Wrap,
|
||||||
|
AddressModeV = .Wrap,
|
||||||
|
AddressModeW = .Wrap
|
||||||
|
};
|
||||||
|
PointWrap = GetSampler(wrapDesc);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Init linear samplers
|
||||||
|
{
|
||||||
|
// Default Sampler ist LinearClamp
|
||||||
|
var clampDesc = SamplerStateDescription();
|
||||||
|
LinearClamp = GetSampler(clampDesc);
|
||||||
|
|
||||||
|
var wrapDesc = SamplerStateDescription()
|
||||||
|
{
|
||||||
|
AddressModeU = .Wrap,
|
||||||
|
AddressModeV = .Wrap,
|
||||||
|
AddressModeW = .Wrap
|
||||||
|
};
|
||||||
|
LinearWrap = GetSampler(wrapDesc);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Init anisotropic samplers
|
||||||
|
{
|
||||||
|
var clampDesc = SamplerStateDescription()
|
||||||
|
{
|
||||||
|
MinFilter = .Anisotropic,
|
||||||
|
MagFilter = .Anisotropic,
|
||||||
|
MipFilter = .Anisotropic,
|
||||||
|
MaxAnisotropy = 16
|
||||||
|
};
|
||||||
|
AnisotropicClamp = GetSampler(clampDesc);
|
||||||
|
|
||||||
|
var wrapDesc = SamplerStateDescription()
|
||||||
|
{
|
||||||
|
MinFilter = .Anisotropic,
|
||||||
|
MagFilter = .Anisotropic,
|
||||||
|
MipFilter = .Anisotropic,
|
||||||
|
MaxAnisotropy = 16,
|
||||||
|
AddressModeU = .Wrap,
|
||||||
|
AddressModeV = .Wrap,
|
||||||
|
AddressModeW = .Wrap
|
||||||
|
};
|
||||||
|
AnisotropicWrap = GetSampler(wrapDesc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Uninit()
|
public static void Uninit()
|
||||||
{
|
{
|
||||||
|
PointClamp.ReleaseRef();
|
||||||
|
PointWrap.ReleaseRef();
|
||||||
|
LinearClamp.ReleaseRef();
|
||||||
|
LinearWrap.ReleaseRef();
|
||||||
|
AnisotropicClamp.ReleaseRef();
|
||||||
|
AnisotropicWrap.ReleaseRef();
|
||||||
|
|
||||||
_context?.ReleaseRef();
|
_context?.ReleaseRef();
|
||||||
|
|
||||||
delete _samplers;
|
delete _samplers;
|
||||||
|
|||||||
Reference in New Issue
Block a user