COWMODSКаталог модов
Dithering3D

ВЕРСИИ (3)

release

Dithering3D 0.5

0.5
15 мая 2026 г.7,7 тыс.Minecraft: rd-132211, rd-132328, rd-20090515, rd-160052, rd-161348, c0.0.11a, c0.0.13a_03, c0.0.13a, c0.30_01c, inf-20100618, a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4, 19w34a, 19w35a, 19w36a, 19w37a, 19w38a, 19w38b, 19w39a, 19w40a, 19w41a, 19w42a, 19w44a, 19w45a, 19w45b, 19w46a, 19w46b, 1.15-pre1, 1.15-pre2, 1.15-pre3, 1.15-pre4, 1.15-pre5, 1.15-pre6, 1.15-pre7, 1.15, 1.15.1-pre1, 1.15.1, 1.15.2-pre1, 1.15.2-pre2, 1.15.2, 20w06a, 20w07a, 20w08a, 20w09a, 20w10a, 20w11a, 20w12a, 20w13a, 20w13b, 20w14infinite, 20w14a, 20w15a, 20w16a, 20w17a, 20w18a, 20w19a, 20w20a, 20w20b, 20w21a, 20w22a, 1.16-pre1, 1.16-pre2, 1.16-pre3, 1.16-pre4, 1.16-pre5, 1.16-pre6, 1.16-pre7, 1.16-pre8, 1.16-rc1, 1.16, 1.16.1, 20w27a, 20w28a, 20w29a, 20w30a, 1.16.2-pre1, 1.16.2-pre2, 1.16.2-pre3, 1.16.2-rc1, 1.16.2-rc2, 1.16.2, 1.16.3-rc1, 1.16.3, 1.16.4-pre1, 1.16.4-pre2, 1.16.4-rc1, 1.16.4, 20w45a, 20w46a, 20w48a, 20w49a, 20w51a, 1.16.5-rc1, 1.16.5, 21w03a, 21w05a, 21w05b, 21w06a, 21w07a, 21w08a, 21w08b, 21w10a, 21w11a, 21w13a, 21w14a, 21w15a, 21w16a, 21w17a, 21w18a, 21w19a, 21w20a, 1.17-pre1, 1.17-pre2, 1.17-pre3, 1.17-pre4, 1.17-pre5, 1.17-rc1, 1.17-rc2, 1.17, 1.17.1-pre1, 1.17.1-pre2, 1.17.1-pre3, 1.17.1-rc1, 1.17.1-rc2, 1.17.1, 21w37a, 21w38a, 21w39a, 21w40a, 21w41a, 21w42a, 21w43a, 21w44a, 1.18-pre1, 1.18-pre2, 1.18-pre3, 1.18-pre4, 1.18-pre5, 1.18-pre6, 1.18-pre7, 1.18-pre8, 1.18-rc1, 1.18-rc2, 1.18-rc3, 1.18-rc4, 1.18, 1.18.1-pre1, 1.18.1-rc1, 1.18.1-rc2, 1.18.1-rc3, 1.18.1, 22w03a, 22w05a, 22w06a, 22w07a, 1.18.2-pre1, 1.18.2-pre2, 1.18.2-pre3, 1.18.2-rc1, 1.18.2, 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2, 26.1-snapshot-3, 26.1-snapshot-4, 26.1-snapshot-5, 26.1-snapshot-6, 26.1-snapshot-7, 26.1-snapshot-8, 26.1-snapshot-9, 26.1-snapshot-10, 26.1-snapshot-11, 26.1-pre-1, 26.1-pre-2, 26.1-pre-3, 26.1-rc-1, 26.1-rc-2, 26.1-rc-3, 26.1, 26.1.1-rc-1, 26.1.1, 26w14a, 26.2-snapshot-1, 26.1.2-rc-1, 26.1.2, 26.2-snapshot-2, 26.2-snapshot-3, 26.2-snapshot-4, 26.2-snapshot-5, 26.2-snapshot-6, 26.2-snapshot-7iris, optifine
Скачать
Что нового
# Dither3D Shader — Audit & Fix Report ## Date: 2026-05-15 ## Scope: Full codebase integrity review against original `Dither3DInclude.cginc` --- ## 1. BUG FIXES ### 1.1 — CRITICAL: Sky double exposure/offset **File:** `shaders/gbuffers_skybasic.fsh:37` **Severity:** High — visual blowout at any non-default exposure/offset `applyDither3DColor()` already applies `DITHER_EXPOSURE * color + DITHER_OFFSET` internally (line 53 of `dither3d_color.glsl`). The sky shader was pre-applying the same transform: ```glsl // BEFORE (bug): vec3 skyColor = clamp(glcolor.rgb * DITHER_EXPOSURE + DITHER_OFFSET, 0.0, 1.0); vec3 result = applyDither3DColor(skyUV, screenPos, dx, dy, skyColor); // Result: exposure and offset squared (over-exposed sky) // AFTER (fix): vec3 result = applyDither3DColor(skyUV, screenPos, dx, dy, glcolor.rgb); ``` All other gbuffer fragment shaders pass raw colors — only `gbuffers_skybasic.fsh` had this issue. ### 1.2 — MEDIUM: Invalid SVD frequency test **File:** `tests/test_math.py:15-30` **Severity:** Medium — test was validating a different algorithm than the shader uses The Python `compute_uv_frequency()` computed `sqrt(sqrt(lambda1 * lambda2))` — a geometric mean of eigenvalue square roots — instead of the SVD singular values the shader actually computes. The shader's algorithm: ```glsl float Q = dot(dx,dx) + dot(dy,dy); // Frobenius norm squared float R = dx.x*dy.y - dx.y*dy.x; // determinant float disc = sqrt(Q*Q - 4.0*R*R); vec2 freq = sqrt(vec2(Q + disc, Q - disc) * 0.5); // singular values (sigma_1, sigma_2) ``` The test now matches this exactly with three validated cases: - **Isotropic** (uniform UV scale): both singular values equal scale ✓ - **Anisotropic** (stretched UV): singular values equal individual axis scales ✓ - **Rotated** (45°): singular values invariant under rotation ✓ Also fixed: Unicode characters (checkmarks, arrows) replaced with ASCII for Windows console compatibility. --- ## 2. CODE QUALITY IMPROVEMENTS ### 2.1 — Clarified dotRadius formula **File:** `shaders/lib/dither3d_core.glsl:98` ```glsl // BEFORE (confusing): float dotRadius = 0.25 / sqrt(activeDots * 0.25); // AFTER (clear): float dotRadius = 0.5 / sqrt(activeDots); ``` Both expressions are mathematically identical. The new form directly shows the relationship: radius scales as `0.5 / sqrt(N)`, giving `0.125` for 16 dots and `0.25` for 4 dots. ### 2.2 — PALETTE_COLOR_MATCH default changed to Color-Aware **Files:** `shaders/lib/dither3d_options.glsl:41`, `shaders/lib/dither3d_config.glsl:63` ```glsl #define PALETTE_COLOR_MATCH 1 // was 0 ``` Color-aware palette matching preserves hues by finding the two closest palette colors and dithering between them. This gives better results for colored palettes (CGA, Pico-8, Nord, Eldritch). The GAMEBOY profile explicitly overrides to `0` (luminance-based) for authentic retro look. --- ## 3. ARCHITECTURE VERIFICATION ### 3.1 — Include chain (correct) ``` Fragment shader -> dither3d_options.glsl (defines all macros first) -> dither3d_color.glsl -> dither3d_core.glsl -> dither3d_config.glsl (fallback defaults via #ifndef) -> dither3d_utils.glsl -> dither3d_palettes.glsl -> dither3d_utils.glsl (guard prevents double include) ``` All 6 modules have unique, consistent include guards: | Module | Guard | |--------|-------| | `dither3d_options.glsl` | `DITHER3D_OPTIONS_GLSL` | | `dither3d_config.glsl` | `DITHER3D_CONFIG_GLSL` | | `dither3d_core.glsl` | `DITHER3D_CORE_GLSL` | | `dither3d_utils.glsl` | `DITHER3D_UTILS_GLSL` | | `dither3d_palettes.glsl` | `DITHER3D_PALETTES_GLSL` | | `dither3d_color.glsl` | `DITHER3D_COLOR_GLSL` | ### 3.2 — Vertex shaders (all 14 pairs verified) All vertex shaders correctly compute and pass `screenPos = gl_Position` for radial compensation. World position and normal calculations are consistent across all geometry types: - **Terrain, Entities, Block, Hand, Water**: triplanar UV with world normal - **Basic, Clouds, Weather, Armor Glint, Spider Eyes**: simple world UV (no normal available) - **Sky Basic**: cylindrical UV with view direction and alternate UV seam handling - **Sky Textured**: texture atlas UV (scaled x4 for dithering) - **Beacon Beam**: XZ plane with vertical offset ### 3.3 — Fragment shaders (all 14 pairs verified) All fragment shaders follow the same pattern: 1. Include `dither3d_options.glsl` (first, defines macros) 2. Include `dither3d_color.glsl` (pulls in everything) 3. Sample textures, compute color 4. Call `applyDither3DColorSimple()` or `applyDither3DColor()` 5. Output to `gl_FragData[0]` with proper alpha preservation ### 3.4 — Shader properties (validated) - `shaders.properties`: 14 `RENDER_STYLE` values, 8 profiles, proper slider ranges, nested submenu structure - `lang/en_US.lang`: all options, values, profiles, and screen names have labels - Custom palette sliders (colors 1-8, 24 RGB sliders) all wired through `shaders.properties` → `dither3d_options.glsl` → `dither3d_config.glsl` ### 3.5 — Palette system (validated) - **9 built-in palettes**: 1-Bit(2), GameBoy(4), CGA(4), VirtualBoy(4), Sepia(4), Nord(8), Solarized(8), Pico-8(16), Eldritch(16) - **3 custom modes**: 2-color, 4-color, 8-color via user-adjustable RGB sliders - **Dual matching**: luminance-based (fast, crisp) and color-aware (preserves hues) - All palettes sorted by luminance for correct dithering gradient - `getPaletteColor()` centralizes all access with `clamp()` bounds safety ### 3.6 — CMYK halftone (validated) - 4 plates with correct traditional screen angles (15°, 75°, 0°, 45°) - Slight scale variation per plate breaks up moire patterns - Round-trip conversion matches original HLSL (validated by test) --- ## 4. ORIGINAL PORT FIDELITY | Original (HLSL) | Port (GLSL) | Status | |-----------------|-------------|--------| | SVD frequency analysis | Identical math (Q, R, discriminant) | Match | | Fractal level selection | `log2(spacing)` + `floor()` | Match | | Sublayer calculation | `lerp(0.25*dotsTotal, dotsTotal, 1-f)` | Match | | Dither pattern generation | Procedural circular dots (replaces 3D texture) | Adapted | | Contrast application | Same formula with adjusted multiplier (0.15 vs 0.1) | Calibrated | | Brightness ramp | Simplified (no ramp texture lookup) | Adapted | | Radial compensation | `gbufferProjection` instead of `UNITY_MATRIX_P` | Adapted | | `GetDither3DAltUV` | Identical derivative comparison logic | Match | | CMYK conversion | Identical math | Match | | UV rotation | Identical | Match | **Known differences** (intentional adaptions for Minecraft): - No 3D texture: replaced with procedural Bayer-pattern circular dots - No brightness ramp texture: direct clamping used instead - Contrast multiplier: `0.15` vs `0.1` (compensates for procedural pattern difference) - `contrastFade` formula: `1/(1+c*0.5)` vs `1.05/(1+c)` (recalibrated for procedural dots) - RENDER_STYLE 0 (RGB) uses small UV offsets instead of original's per-channel dithering --- ## 5. TEST RESULTS ``` python tests/test_math.py ``` ``` ====================================================================== Dither3D Mathematical Function Tests ====================================================================== --- SVD Frequency Computation (matches dither3d_core.glsl) --- PASS Isotropic test: maxFreq=2.000, minFreq=2.000, stretch=1.000 PASS Anisotropic test: maxFreq=4.000, minFreq=1.000, stretch=0.250 PASS Rotated test: maxFreq=2.000, minFreq=2.000, stretch=1.000 --- CMYK Color Conversion --- PASS Red, Green, Blue, Yellow, Magenta, Cyan, White, Black (8/8) --- Bayer Matrix Generation --- PASS Bayer 1x1, 2x2, 4x4, 8x8 (4/4) ====================================================================== All tests passed! ====================================================================== ``` --- ## 6. SUMMARY | Category | Count | |----------|-------| | Critical bugs fixed | 1 (sky double exposure) | | Invalid tests fixed | 1 (SVD algorithm mismatch) | | Code clarity improvements | 1 (dotRadius formula) | | Default value changes | 1 (PALETTE_COLOR_MATCH 0→1) | | Files audited | 37 (lib + gbuffers + composite + final + config) | | Architecture issues found | 0 | **Verdict: Codebase is stable, well-structured, and faithful to the original algorithm.**
beta

0.4

0.4
11 янв. 2026 г.4,7 тыс.Minecraft: 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4, 19w34a, 19w35a, 19w36a, 19w37a, 19w38a, 19w38b, 19w39a, 19w40a, 19w41a, 19w42a, 19w44a, 19w45a, 19w45b, 19w46a, 19w46b, 1.15-pre1, 1.15-pre2, 1.15-pre3, 1.15-pre4, 1.15-pre5, 1.15-pre6, 1.15-pre7, 1.15, 1.15.1-pre1, 1.15.1, 1.15.2-pre1, 1.15.2-pre2, 1.15.2, 20w06a, 20w07a, 20w08a, 20w09a, 20w10a, 20w11a, 20w12a, 20w13a, 20w13b, 20w14infinite, 20w14a, 20w15a, 20w16a, 20w17a, 20w18a, 20w19a, 20w20a, 20w20b, 20w21a, 20w22a, 1.16-pre1, 1.16-pre2, 1.16-pre3, 1.16-pre4, 1.16-pre5, 1.16-pre6, 1.16-pre7, 1.16-pre8, 1.16-rc1, 1.16, 1.16.1, 20w27a, 20w28a, 20w29a, 20w30a, 1.16.2-pre1, 1.16.2-pre2, 1.16.2-pre3, 1.16.2-rc1, 1.16.2-rc2, 1.16.2, 1.16.3-rc1, 1.16.3, 1.16.4-pre1, 1.16.4-pre2, 1.16.4-rc1, 1.16.4, 20w45a, 20w46a, 20w48a, 20w49a, 20w51a, 1.16.5-rc1, 1.16.5, 21w03a, 21w05a, 21w05b, 21w06a, 21w07a, 21w08a, 21w08b, 21w10a, 21w11a, 21w13a, 21w14a, 21w15a, 21w16a, 21w17a, 21w18a, 21w19a, 21w20a, 1.17-pre1, 1.17-pre2, 1.17-pre3, 1.17-pre4, 1.17-pre5, 1.17-rc1, 1.17-rc2, 1.17, 1.17.1-pre1, 1.17.1-pre2, 1.17.1-pre3, 1.17.1-rc1, 1.17.1-rc2, 1.17.1, 21w37a, 21w38a, 21w39a, 21w40a, 21w41a, 21w42a, 21w43a, 21w44a, 1.18-pre1, 1.18-pre2, 1.18-pre3, 1.18-pre4, 1.18-pre5, 1.18-pre6, 1.18-pre7, 1.18-pre8, 1.18-rc1, 1.18-rc2, 1.18-rc3, 1.18-rc4, 1.18, 1.18.1-pre1, 1.18.1-rc1, 1.18.1-rc2, 1.18.1-rc3, 1.18.1, 22w03a, 22w05a, 22w06a, 22w07a, 1.18.2-pre1, 1.18.2-pre2, 1.18.2-pre3, 1.18.2-rc1, 1.18.2, 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1, 26.1-snapshot-2iris, optifine
Скачать
Что нового
### Test version: - Addition of a visual style selection system (color palettes) - Addition of several color palette modes for a more personalized look - Addition of a system for creating your own color palette up to 8 bits (8 colors) - Menu improvements - Performance optimization - And more...
beta

0.3

0.3
7 янв. 2026 г.76Minecraft: 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4, 19w34a, 19w35a, 19w36a, 19w37a, 19w38a, 19w38b, 19w39a, 19w40a, 19w41a, 19w42a, 19w44a, 19w45a, 19w45b, 19w46a, 19w46b, 1.15-pre1, 1.15-pre2, 1.15-pre3, 1.15-pre4, 1.15-pre5, 1.15-pre6, 1.15-pre7, 1.15, 1.15.1-pre1, 1.15.1, 1.15.2-pre1, 1.15.2-pre2, 1.15.2, 20w06a, 20w07a, 20w08a, 20w09a, 20w10a, 20w11a, 20w12a, 20w13a, 20w13b, 20w14infinite, 20w14a, 20w15a, 20w16a, 20w17a, 20w18a, 20w19a, 20w20a, 20w20b, 20w21a, 20w22a, 1.16-pre1, 1.16-pre2, 1.16-pre3, 1.16-pre4, 1.16-pre5, 1.16-pre6, 1.16-pre7, 1.16-pre8, 1.16-rc1, 1.16, 1.16.1, 20w27a, 20w28a, 20w29a, 20w30a, 1.16.2-pre1, 1.16.2-pre2, 1.16.2-pre3, 1.16.2-rc1, 1.16.2-rc2, 1.16.2, 1.16.3-rc1, 1.16.3, 1.16.4-pre1, 1.16.4-pre2, 1.16.4-rc1, 1.16.4, 20w45a, 20w46a, 20w48a, 20w49a, 20w51a, 1.16.5-rc1, 1.16.5, 21w03a, 21w05a, 21w05b, 21w06a, 21w07a, 21w08a, 21w08b, 21w10a, 21w11a, 21w13a, 21w14a, 21w15a, 21w16a, 21w17a, 21w18a, 21w19a, 21w20a, 1.17-pre1, 1.17-pre2, 1.17-pre3, 1.17-pre4, 1.17-pre5, 1.17-rc1, 1.17-rc2, 1.17, 1.17.1-pre1, 1.17.1-pre2, 1.17.1-pre3, 1.17.1-rc1, 1.17.1-rc2, 1.17.1, 21w37a, 21w38a, 21w39a, 21w40a, 21w41a, 21w42a, 21w43a, 21w44a, 1.18-pre1, 1.18-pre2, 1.18-pre3, 1.18-pre4, 1.18-pre5, 1.18-pre6, 1.18-pre7, 1.18-pre8, 1.18-rc1, 1.18-rc2, 1.18-rc3, 1.18-rc4, 1.18, 1.18.1-pre1, 1.18.1-rc1, 1.18.1-rc2, 1.18.1-rc3, 1.18.1, 22w03a, 22w05a, 22w06a, 22w07a, 1.18.2-pre1, 1.18.2-pre2, 1.18.2-pre3, 1.18.2-rc1, 1.18.2, 22w11a, 22w12a, 22w13a, 22w13oneblockatatime, 22w14a, 22w15a, 22w16a, 22w16b, 22w17a, 22w18a, 22w19a, 1.19-pre1, 1.19-pre2, 1.19-pre3, 1.19-pre4, 1.19-pre5, 1.19-rc1, 1.19-rc2, 1.19, 22w24a, 1.19.1-pre1, 1.19.1-rc1, 1.19.1-pre2, 1.19.1-pre3, 1.19.1-pre4, 1.19.1-pre5, 1.19.1-pre6, 1.19.1-rc2, 1.19.1-rc3, 1.19.1, 1.19.2-rc1, 1.19.2-rc2, 1.19.2, 22w42a, 22w43a, 22w44a, 22w45a, 22w46a, 1.19.3-pre1, 1.19.3-pre2, 1.19.3-pre3, 1.19.3-rc1, 1.19.3-rc2, 1.19.3-rc3, 1.19.3, 23w03a, 23w04a, 23w05a, 23w06a, 23w07a, 1.19.4-pre1, 1.19.4-pre2, 1.19.4-pre3, 1.19.4-pre4, 1.19.4-rc1, 1.19.4-rc2, 1.19.4-rc3, 1.19.4, 23w12a, 23w13a, 23w13a_or_b, 23w14a, 23w16a, 23w17a, 23w18a, 1.20-pre1, 1.20-pre2, 1.20-pre3, 1.20-pre4, 1.20-pre5, 1.20-pre6, 1.20-pre7, 1.20-rc1, 1.20, 1.20.1-rc1, 1.20.1, 23w31a, 23w32a, 23w33a, 23w35a, 1.20.2-pre1, 1.20.2-pre2, 1.20.2-pre3, 1.20.2-pre4, 1.20.2-rc1, 1.20.2-rc2, 1.20.2, 23w40a, 23w41a, 23w42a, 23w43a, 23w43b, 23w44a, 23w45a, 23w46a, 1.20.3-pre1, 1.20.3-pre2, 1.20.3-pre3, 1.20.3-pre4, 1.20.3-rc1, 1.20.3, 1.20.4-rc1, 1.20.4, 23w51a, 23w51b, 24w03a, 24w03b, 24w04a, 24w05a, 24w05b, 24w06a, 24w07a, 24w09a, 24w10a, 24w11a, 24w12a, 24w13a, 24w14potato, 24w14a, 1.20.5-pre1, 1.20.5-pre2, 1.20.5-pre3, 1.20.5-pre4, 1.20.5-rc1, 1.20.5-rc2, 1.20.5-rc3, 1.20.5, 1.20.6-rc1, 1.20.6, 24w18a, 24w19a, 24w19b, 24w20a, 24w21a, 24w21b, 1.21-pre1, 1.21-pre2, 1.21-pre3, 1.21-pre4, 1.21-rc1, 1.21, 1.21.1-rc1, 1.21.1, 24w33a, 24w34a, 24w35a, 24w36a, 24w37a, 24w38a, 24w39a, 24w40a, 1.21.2-pre1, 1.21.2-pre2, 1.21.2-pre3, 1.21.2-pre4, 1.21.2-pre5, 1.21.2-rc1, 1.21.2-rc2, 1.21.2, 1.21.3, 24w44a, 24w45a, 24w46a, 1.21.4-pre1, 1.21.4-pre2, 1.21.4-pre3, 1.21.4-rc1, 1.21.4-rc2, 1.21.4-rc3, 1.21.4, 25w02a, 25w03a, 25w04a, 25w05a, 25w06a, 25w07a, 25w08a, 25w09a, 25w09b, 25w10a, 1.21.5-pre1, 1.21.5-pre2, 1.21.5-pre3, 1.21.5-rc1, 1.21.5-rc2, 1.21.5, 25w14craftmine, 25w15a, 25w16a, 25w17a, 25w18a, 25w19a, 25w20a, 25w21a, 1.21.6-pre1, 1.21.6-pre2, 1.21.6-pre3, 1.21.6-pre4, 1.21.6-rc1, 1.21.6, 1.21.7-rc1, 1.21.7-rc2, 1.21.7, 1.21.8-rc1, 1.21.8, 25w31a, 25w32a, 25w33a, 25w34a, 25w34b, 25w35a, 25w36a, 25w36b, 25w37a, 1.21.9-pre1, 1.21.9-pre2, 1.21.9-pre3, 1.21.9-pre4, 1.21.9-rc1, 1.21.9, 1.21.10-rc1, 1.21.10, 25w41a, 25w42a, 25w43a, 25w44a, 25w45a, 25w46a, 1.21.11-pre1, 1.21.11-pre2, 1.21.11-pre3, 1.21.11-pre4, 1.21.11-pre5, 1.21.11-rc1, 1.21.11-rc2, 1.21.11-rc3, 1.21.11, 26.1-snapshot-1iris, optifine
Скачать