Add definitions for some common sampler settings
This commit is contained in:
@@ -9,4 +9,11 @@
|
|||||||
namespace OpenVulkano::Scene
|
namespace OpenVulkano::Scene
|
||||||
{
|
{
|
||||||
const SamplerConfig SamplerConfig::DEFAULT;
|
const SamplerConfig SamplerConfig::DEFAULT;
|
||||||
}
|
const SamplerConfig SamplerConfig::NEAREST(TextureSamplerFilter::NEAREST, TextureSamplerFilter::NEAREST);
|
||||||
|
const SamplerConfig SamplerConfig::LINEAR(TextureSamplerFilter::LINEAR, TextureSamplerFilter::NEAREST);
|
||||||
|
const SamplerConfig SamplerConfig::BILINEAR(TextureSamplerFilter::LINEAR, TextureSamplerFilter::LINEAR);
|
||||||
|
const SamplerConfig SamplerConfig::TIRILINEAR(TextureSamplerFilter::LINEAR, TextureSamplerFilter::LINEAR, TextureSamplerMipmapMode::LINEAR);
|
||||||
|
const SamplerConfig SamplerConfig::ANISOTROPIC_LOW(TextureSamplerFilter::LINEAR, TextureSamplerFilter::LINEAR, TextureSamplerMipmapMode::LINEAR, true, 4);
|
||||||
|
const SamplerConfig SamplerConfig::ANISOTROPIC_HIGH(TextureSamplerFilter::LINEAR, TextureSamplerFilter::LINEAR, TextureSamplerMipmapMode::LINEAR, true, 16);
|
||||||
|
const SamplerConfig SamplerConfig::ANISOTROPIC_PRO(TextureSamplerFilter::LINEAR, TextureSamplerFilter::LINEAR, TextureSamplerMipmapMode::LINEAR, true, 32);
|
||||||
|
}
|
||||||
|
|||||||
@@ -79,11 +79,26 @@ namespace OpenVulkano::Scene
|
|||||||
, compareEnabled(compareEnabled), compareOp(compareOp)
|
, compareEnabled(compareEnabled), compareOp(compareOp)
|
||||||
, minLod(minLod), maxLod(maxLod), borderColor(borderColor), unnormalizedCoordinates(unnormalizedCoordinates)
|
, minLod(minLod), maxLod(maxLod), borderColor(borderColor), unnormalizedCoordinates(unnormalizedCoordinates)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
SamplerConfig(TextureSamplerFilter magFilter, TextureSamplerFilter minFilter = TextureSamplerFilter::LINEAR,
|
||||||
|
TextureSamplerMipmapMode mipmapMode = TextureSamplerMipmapMode::NEAREST,
|
||||||
|
bool32_t anisotropyEnabled = false, float maxAnisotropy = 0)
|
||||||
|
: magFilter(magFilter), minFilter(minFilter), mipmapMode(mipmapMode), anisotropyEnabled(anisotropyEnabled), maxAnisotropy(maxAnisotropy)
|
||||||
|
{}
|
||||||
|
|
||||||
auto operator <=>(const SamplerConfig& other) const = default;
|
auto operator <=>(const SamplerConfig& other) const = default;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Default configs
|
// Default configs
|
||||||
static const SamplerConfig DEFAULT;
|
static const SamplerConfig DEFAULT;
|
||||||
|
static const SamplerConfig NEAREST;
|
||||||
|
static const SamplerConfig LINEAR;
|
||||||
|
static const SamplerConfig BILINEAR;
|
||||||
|
static const SamplerConfig TIRILINEAR;
|
||||||
|
static const SamplerConfig ANISOTROPIC_LOW;
|
||||||
|
static const SamplerConfig ANISOTROPIC_HIGH;
|
||||||
|
|
||||||
|
// Not supported on most consumer grphics cards!
|
||||||
|
static const SamplerConfig ANISOTROPIC_PRO;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user