using Silk.NET.OpenGL;
namespace AcDream.App.Rendering.Wb {
///
/// Configurable OpenGL texture parameters for wrap mode, filtering, mipmaps, and anisotropic filtering.
///
public struct TextureParameters {
public TextureWrapMode WrapS;
public TextureWrapMode WrapT;
public TextureMinFilter MinFilter;
public TextureMagFilter MagFilter;
public bool EnableMipmaps;
public bool EnableAnisotropicFiltering;
/// Standard tiling textures — Repeat + trilinear + aniso.
public static readonly TextureParameters Default = new() {
WrapS = TextureWrapMode.Repeat,
WrapT = TextureWrapMode.Repeat,
MinFilter = TextureMinFilter.LinearMipmapLinear,
MagFilter = TextureMagFilter.Linear,
EnableMipmaps = true,
EnableAnisotropicFiltering = true,
};
/// Non-tiling textures (alpha maps, fonts, UI, object atlases) — ClampToEdge + trilinear + aniso.
public static readonly TextureParameters ClampToEdge = new() {
WrapS = TextureWrapMode.ClampToEdge,
WrapT = TextureWrapMode.ClampToEdge,
MinFilter = TextureMinFilter.LinearMipmapLinear,
MagFilter = TextureMagFilter.Linear,
EnableMipmaps = true,
EnableAnisotropicFiltering = true,
};
}
}