Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-276965

Post shader ColorModulate uniform not reset properly after spectating spiders

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 1.21.2 Pre-Release 1
    • 24w39a
    • None
    • Confirmed
    • Camera, Textures and models
    • Important
    • Platform

      The Issue

      post/spider.json changes post/blit ColorModulate uniform from [1,1,1,1] to [1,0.8,0.8,1], making it red. Previously when using that program again elsewhere it would use the default value in post/x.json, but now it keeps whatever post effect overrides were done previously until they're overridden again by another post effect.

      This means post/blit in post/invert.json for spectating endermen or post/transparency.json for Fabulous Graphics has the same red ColorModulate uniform applied after spectating a spider.

      See postshaderuniformbug.png for a visual comparison of the enderman shader before and after spectating a spider.

      See javaw_9GgvnisUf3.gif for a demonstration of the spider tint persisting with Fabulous Graphics.

      Note: This happens with all post shader uniforms, but the spider shader is the only place where it can be observed without resource packs.

      Steps to Reproduce

      1. Open a creative world in an affected version (e.g. 24w39a).
      2. Set graphics quality to Fabulous Graphics.
      3. Spawn an enderman and a spider.
      4. Enter spectator mode.
      5. Spectate the enderman. Notice that the screen colors are precisely inverted while spectating the enderman.
      6. Stop spectating the enderman. Notice that the screen is returned to normal.
      7. Spectate the spider. Notice that the screen is tinted red and distorted while spectating the spider.
      8. Stop spectating the spider. Notice that the screen remains tinted red. This is because the ColorModulate uniform has not been properly reset from spectating the spider and it is applied in the transparency post shader.
      9. Set graphics quality to Fast Graphics. Notice that the screen is no longer tinted red. This is because no post shader is applied anymore.
      10. Spectate the enderman again. Notice that the screen colors are inverted once again, but with a red tint applied which makes it subtly different from before. This is because the ColorModulate uniform has not been properly reset from spectating the spider and it is applied in the enderman's post shader.
      11. Repeat these same steps in Minecraft Java Edition 1.21.1. Notice that the observed behavior does not occur.

        1. javaw_9GgvnisUf3.gif
          3.21 MB
          Evtema3
        2. postshaderuniformbug.png
          617 kB
          Evtema3

            gegy1000 [Mojang] Gegy
            Evtema3 Evtema3
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: