[Fix] (MG_Impl/Texture): support anisotropic sampler parameters

This commit is contained in:
2026-07-16 21:39:38 -04:00
parent 346cd417ca
commit 5d6b544021
11 changed files with 284 additions and 13 deletions
@@ -78,6 +78,13 @@ namespace MobileGL {
++m_version;
}
void SamplerObject::SetMaxAnisotropy(Float maxAnisotropy) {
if (maxAnisotropy == m_samplerParameters.maxAnisotropy) return;
m_samplerParameters.maxAnisotropy = maxAnisotropy;
++m_version;
}
void SamplerObject::SetSamplerCompareFunc(SamplerCompareFunc func) {
if (func == m_samplerParameters.compareFunc) return;
@@ -128,6 +135,10 @@ namespace MobileGL {
return m_samplerParameters.lodBias;
}
Float SamplerObject::GetMaxAnisotropy() const {
return m_samplerParameters.maxAnisotropy;
}
SamplerCompareMode SamplerObject::GetCompareMode() const {
return m_samplerParameters.compareMode;
}
@@ -65,6 +65,7 @@ namespace MobileGL {
Float minLod = -1000.0f;
Float maxLod = 1000.0f;
Float lodBias = 0.0f;
Float maxAnisotropy = 1.0f;
SamplerCompareFunc compareFunc = SamplerCompareFunc::Always;
SamplerCompareMode compareMode = SamplerCompareMode::None;
};
@@ -83,6 +84,7 @@ namespace MobileGL {
void SetMipmapMode(SamplerMipmapMode mode);
void SetLodRange(Float minLod, Float maxLod);
void SetLodBias(Float bias);
void SetMaxAnisotropy(Float maxAnisotropy);
void SetSamplerCompareFunc(SamplerCompareFunc func);
void SetCompareMode(SamplerCompareMode mode);
@@ -95,6 +97,7 @@ namespace MobileGL {
Float GetMinLod() const;
Float GetMaxLod() const;
Float GetLodBias() const;
Float GetMaxAnisotropy() const;
SamplerCompareMode GetCompareMode() const;
SamplerCompareFunc GetSamplerCompareFunc() const;
Uint GetExternalIndex() const;