jerrrrycho
aecc73e893
fix(render): antialias alpha tested edges with multisampling ( eu07/maszyna#449 )
...
The sides of the trackbed (and grass, fences, foliage) are cut out of their
textures by the alpha test, which keeps or drops whole pixels, so their edges
stayed jagged at any multisampling level; only geometry edges got smoothed.
With multisampling on, the alpha tested materials of the opaque colour pass
now draw with GL_SAMPLE_ALPHA_TO_COVERAGE. Their shaders do the alpha test
with alpha_test_fail() of glsl_common and write as alpha the coverage of the
test edge: the alpha sharpened around the opacity threshold to go from 0 to 1
over about a pixel, so the edge keeps the place it had and gets the samples
it covers. The renderer turns alpha to coverage on per material, only for
shaders which use the helper and only in the opaque pass with a positive
opacity, so translucent, water, terrain and the other shaders are unchanged.
Without multisampling the shaders work as before.
2026-11-08 01:34:35 +01:00
..
2026-10-04 02:27:52 +02:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-04-27 23:03:47 +02:00
2026-11-03 22:00:48 +01:00
2026-11-03 22:00:48 +01:00
2026-03-14 19:16:48 +00:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-11-03 21:50:31 +01:00
2026-10-07 17:13:32 +02:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:01:57 +00:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:16:48 +00:00
2026-11-08 01:34:35 +01:00
2026-11-08 01:34:35 +01:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-10-10 17:35:52 +02:00
Heightmap terrain: .tch chunk packs, streaming with LOD, terrain painting, water and modifiers - terrain/<name>/terrain.yaml + <px>_<pz>.tch packs of 16x16 chunks (250 m, 0.5/1/2/5 m spacing), slices with crc-32 and optional zstd (vendored zstd 1.5.6 in ref/zstd) - heightmap_terrain [name] endheightmap_terrain directive replaces editorterrain - streamer: worker threads, camera + look-ahead loading, geomipmap LOD with skirts, pooled geometry - mat_terrain shader: up to 8 painted layer materials per chunk via texture arrays (opengl33); other renderers fall back to the dominant material - water bodies (outline + level), terrain modifiers (vertical profile shaping kept non-destructive) - F11 Terrain work mode rebuilt: chunks, sculpt, smooth, paint, point spacing, water tools
2026-10-09 21:02:25 +02:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:16:48 +00:00
2026-03-14 19:16:48 +00:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-05-02 14:40:31 +02:00
2026-03-14 19:16:48 +00:00
2026-03-14 19:01:57 +00:00
2026-10-11 13:22:33 +02:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:01:57 +00:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:16:48 +00:00
2026-11-07 12:36:17 +01:00
2026-11-07 12:36:17 +01:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:01:57 +00:00
2026-11-07 11:38:49 +01:00
2026-10-11 13:22:33 +02:00
2026-10-04 20:00:13 +02:00
2026-03-14 19:01:57 +00:00
Heightmap terrain: .tch chunk packs, streaming with LOD, terrain painting, water and modifiers - terrain/<name>/terrain.yaml + <px>_<pz>.tch packs of 16x16 chunks (250 m, 0.5/1/2/5 m spacing), slices with crc-32 and optional zstd (vendored zstd 1.5.6 in ref/zstd) - heightmap_terrain [name] endheightmap_terrain directive replaces editorterrain - streamer: worker threads, camera + look-ahead loading, geomipmap LOD with skirts, pooled geometry - mat_terrain shader: up to 8 painted layer materials per chunk via texture arrays (opengl33); other renderers fall back to the dominant material - water bodies (outline + level), terrain modifiers (vertical profile shaping kept non-destructive) - F11 Terrain work mode rebuilt: chunks, sculpt, smooth, paint, point spacing, water tools
2026-10-09 21:02:25 +02:00
2026-11-07 11:20:50 +00:00
2026-10-11 13:22:33 +02:00
2026-03-14 19:01:57 +00:00