This happens since 21w13a and is probably affected by the new shaders: fog on beacon beams is not correctly computed, the fog is computed from the perspective of the beacon instead of the player causing nearby beacon beams to fade to the sky color even when they are close to the player.
I expected beacon beams to render just like before the move to OpenGL 3. They don't seem to have any fog at all in that version so it's expectable that they should neither have fog after being ported to OpenGL 3.
Screenshot from 20w51a:
Dependent on how far away the player is from the beacon, fog is applied at a certain distance from the beacon. The further away the player, the closer the fog to the beacon.
(while this above screenshot was taken in my modded environment, the issue exists in vanilla)
- Activate a beacon (build the structure in such a way it starts emititing a beam)
- To make a clear contrast between fog and not-fog, place some stained glass on top of the beacon. Orange contrasts very well against the sky color.
- Fly up into the sky while watching the beam
In 21w11a and later: The beam fog fades towards the beacon
Before 21w11a: The beam has no fog and renders correctly
Placing two beacons at different heights clearly demonstrates the bug:
It was pretty embarrassing that I could see the issue in the assets of the vanilla game. In assets/minecraft/shaders/core/rendertype_beacon_beam.vsh, the vertex distance is computed as the distance from the beacon origin. This vertex distance is then used to compute the fog.
Here's the shader for reference: