Skip to content

Streaking artifacts below Y60 with Distant Horizons #360

Open

Description

@Revanee

Using Distant Horizons with this shader produces streaking artifacts below Y60.
Here's a screenshot:

Image

Holding a map or going underwater prevents the artifacts from happening.

Some more details after debugging with AI:

Environment

Complementary Reimagined: r5.9.3
Distant Horizons: 3.3.0
Iris: 1.11.6
Sodium: 0.9.2
Minecraft: 26.3

Description

Below approximately Y~60, a screen-wide artifact affects lighting and reflection values and streaks across the frame when the camera moves. It is visible in all directions and persists regardless of whether the player is in a cave or open air. It does not occur underwater, and does not occur with Photon shader.

The artifact appears to be a stale data mask written into deferred lighting/PBR colortex buffers by DH's terrain LOD pass (which renders the surface above the player when below sea level).

Likely cause

shaders.properties declares blend modes for dh_water inside the #ifdef DISTANT_HORIZONS block, but dh_terrain has no blend mode declared at all. This leaves the OpenGL blend state for that pass undefined — it inherits whatever state was last active — allowing the DH terrain LOD pass to write stale/incorrect data into colortex buffers that the deferred lighting and reflection composites then read.

Photon avoids this by explicitly setting blend = off on every pass first, then re-enabling blending only on specific colortex slots that need it. Adding blend.dh_terrain = off (and explicit per-slot overrides where needed) to Complementary's DH block should fix this.

Workarounds

None that fully resolve it. Holding a filled map in the main hand partially reduces the artifact (likely alters which depth values are written that frame).

Activity

  1. SpacEagle17 commented on Sep 18, 2026

    @SpacEagle17
    Member

    Most likely what the AI said is incorrect and it's just an issue which is exclusive to iris 1.11.4+ which changed how depth worked and DH had to adapt. This was a week ago and since there have been some issues

  2. Ranity-Insandom commented on Sep 19, 2026

    @Ranity-Insandom

    Strange, this happens to me but only when I have SPBR enabled. Before I read this, I opened an issue on the DH page that blames it on compatibility with SPBR

  3. marked Found bug #367 as a duplicate of this issue on Sep 26, 2026
  4. Practor009 commented on Sep 26, 2026

    @Practor009

    I am having the same issue, ruled out any other potential culprits to this shader:

    Same stack versions please see attached F3 menu:

    • Fabric
    • Complementary Reimagined: r5.9.3
    • Distant Horizons: 3.3.0
    • Iris: 1.11.6
    • Sodium: 0.9.2
    • Minecraft: 26.3
    Image
  5. EminGT commented on Sep 26, 2026

    @EminGT
    Member

    Did you try removing all resource packs?

  6. Ranity-Insandom commented on Sep 27, 2026

    @Ranity-Insandom

    Someone from the DH team said this is a problem with Iris

  7. Practor009 commented on Sep 27, 2026

    @Practor009

    Yes, only default resource pack is active during my testing, it's interesting how some clients can't reproduce, removing DH fixes the issue.

  8. added
    Not The Shader's FaultThis isn't the fault of Complementary. It might be caused by a mod, driver, or similar.
    and removed on Sep 28, 2026
  9. EminGT commented on Sep 28, 2026

    @EminGT
    Member

    Iris needs to fix this. There is something broken behind the shader pipeline

  10. yoboujon commented on Sep 28, 2026

    @yoboujon

    Checked and between MEDIUM and HIGH quality, the bug disappears, good to know that this bug appears when your holding an item and not hitting with it.

        profile.MEDIUM        = SHADOW_QUALITY=2 shadowDistance=128.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=1 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1 RAIN_PUDDLES=0
        profile.HIGH          = SHADOW_QUALITY=2 shadowDistance=192.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1 RAIN_PUDDLES=0
    

    So it could be either one of those:

    shadowDistance=192.0
    BLOCK_REFLECT_QUALITY=3
    LIGHTSHAFT_QUALI_DEFINE=2
    
  11. yoboujon commented on Sep 28, 2026

    @yoboujon

    okay it is definitely BLOCK_REFLECT_QUALITY, when trying something >1, it starts to flicker

  12. EminGT commented on Sep 28, 2026

    @EminGT
    Member

    Disabling reflections does hide the problem, but it doesn't fix the underlying problem of Iris with DH doing weird blending for buffer writes behind the scenes. You might get different bugs pop up because of it.

  13. SpacEagle17 commented on Sep 28, 2026

    @SpacEagle17
    Member

    Today in the iris discord the DH dev commented about some more bug fixes
    https://discord.com/channels/774352792659820594/774354522361299006/1554112671123513415

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Not The Shader's FaultThis isn't the fault of Complementary. It might be caused by a mod, driver, or similar.Problem

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions