Mipmapping an den Texturen

This commit is contained in:
2026-06-16 10:39:58 +02:00
parent 14961d903b
commit 949a076ec7
2 changed files with 77 additions and 27 deletions
+7 -1
View File
@@ -53,9 +53,15 @@ fn bayer4(px: vec2u) -> f32 {
return f32(m[(px.y % 4u) * 4u + (px.x % 4u)]);
}
// LOD-Bias für die Mip-Auswahl: negativ = schärfer (greift einen höher
// aufgelösten Mip, als die UV-Ableitungen verlangen), positiv = weicher.
// 0 = neutral. Bei -1.0 verdoppelt sich praktisch die Texelrate (mehr
// Schärfe, etwas mehr Flimmern); -0.5 ist ein sanfter Mittelweg.
const MIP_BIAS: f32 = -1.0;
@fragment
fn fs_main(in: VsOut) -> @location(0) vec4f {
let texel = textureSample(tex, smp, in.uv);
let texel = textureSampleBias(tex, smp, in.uv, MIP_BIAS);
if texel.a < 0.5 { discard; } // 1-Bit-Alpha (Cutouts), noch ungenutzt
// RGB555: 31 Stufen pro Kanal. Bayer-Schwelle vor dem Abrunden →