This commit is contained in:
Gabrieal Jimmy
2026-10-02 12:42:00 -05:00
commit 2c99305fb0
145 changed files with 6525 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
// Fragment-stage only (uses screen-space derivatives).
// "Sharp bilinear": crisp texel edges when magnified, antialiased boundaries
// and correct mip selection when minified (unlike GL_NEAREST shimmer).
vec4 sharpSample(sampler2D tex, vec2 uv) {
vec2 size = vec2(textureSize(tex, 0));
vec2 px = uv * size;
vec2 seam = floor(px + 0.5);
vec2 fw = max(fwidth(px), vec2(1e-5));
px = seam + clamp((px - seam) / fw, -0.5, 0.5);
return textureGrad(tex, px / size, dFdx(uv), dFdy(uv));
}
vec4 sharpSampleArray(sampler2DArray tex, vec2 uv, float layer) {
vec2 size = vec2(textureSize(tex, 0).xy);
vec2 px = uv * size;
vec2 seam = floor(px + 0.5);
vec2 fw = max(fwidth(px), vec2(1e-5));
px = seam + clamp((px - seam) / fw, -0.5, 0.5);
return textureGrad(tex, vec3(px / size, layer), dFdx(uv), dFdy(uv));
}