The bug
Entities standing on Y=63 will become invisible when looking up.
Video: https://www.youtube.com/watch?v=6qZi6p5UI-8
How to reproduce
Stand on level 63 (standing on level 64 works too but the effect is kicking in later)
Spawn some mobs on level 63
Slowly move up the mouse
→ ❌ At some point the entities will be come invisible
Note: other coordinates also have this problem, but Y = 63 is the most obvious.
Code analysis
Code analysis by @unknown in this comment.
Related issues
is duplicated by
Attachments
Comments


What's your screen resolution ?
1920 x 1080

Related to MC-1058
The problem seems to occur only the Y = 63.

Confirmed.
Confirmed :
Of other coordinates also have this problem, but Y = 63 the most obvious.
Someone can confirm it?

Hello, I'm coming from bugpost MC-1058
("Some Entities cannot be seen when on the edge of the screen")
Attached 4 screenies: 2x Zombie (looked at edge of screen), 2x Mooshroom, (looking upwards);
both times me/player at Y=73, NOT 63! Entity at Y=75.
I also quickly tested so far Blaze, Skeleton, Villager, all of which didn't have that issue, as far as I can tell in the rush.
It seems it depends on the mob, MAYBE their hitboxes, whether or not this occurrs, when looking either from edge of screen or looking upwards (Edit: The Y=63 problem seems to be another/additional issue).
Don't have the time at the moment, but this needs testing with all entities, sideways+upwards-looking, and seeing if there's maybe a correlation to MC-50367.
Edit: I suggest to conduct a test series with entities on Y=63 as well as above or below, and test both sideways as well as upwards; that'd cover both bugposts and would probably give a clearer picture.
I'll link my comment here into MC-1058.
Regards, Meri

Little note: It's fixed for mobs if Y is not 63.
I can confirm though that the bug still there if the mob is at Y = 63.
Tested with a Zombie
/summon Zombie ~ 63 ~ {NoAI:1}
Skeleton and Villager.

Confirmed for 1.9 pre-2 happens with Irongolem (idk with other mobs)

I activated hitboxes with F3+b, and e.g. in the case of the Creeper the hitbox is taller than the mob skin, but the Creeper still "vanishes" when you look up above it, but really (nearly) only when Creeper and you are on Y=63, it's best to see on this specific altitude, the former (Beta 1.8?) sea level (I doubt it has anything to do with it, but I find it puzzling it's exactly that altitude)..
The "vanishing point" of an e.g. Creeper varies, depending also on your distance from it.
The very same "angle" you look above its head at different distances can make it either disappear, or it is still visible.
The farther you are away, the higher your angle can be until it disappears; the closer you are to the mob, the lower the angle is when it disappears.
After quick testing, there also seems to be a difference when it disappears, depending if you look at it from front (at its face), or at its backside or at its side, even if it's the very same distance you are away from it, but I'd have to do thorough testing to be very sure about it, and that it also applies to other mobs than Creepers.

Please link to this comment in the description
The following is based on a decompiled version of Minecraft 1.10 using MCP 9.30.
I am not sure what exactly that happens but it looks like the method net.minecraft.client.renderer.culling.Frustum.isBoundingBoxInFrustum(AxisAlignedBB)
returns that the chunk is not in the view frustum.
Stack trace
Thread [Client thread] (Suspended)
ClippingHelperImpl(ClippingHelper).isBoxInFrustum(double, double, double, double, double, double) line: 26
Frustum.isBoxInFrustum(double, double, double, double, double, double) line: 34
Frustum.isBoundingBoxInFrustum(AxisAlignedBB) line: 42
RenderGlobal.setupTerrain(Entity, double, ICamera, int, boolean) line: 931
EntityRenderer.renderWorldPass(int, float, long) line: 1370
EntityRenderer.renderWorld(float, long) line: 1313
EntityRenderer.updateCameraAndRender(float, long) line: 1122
Minecraft.runGameLoop() line: 1158
Minecraft.run() line: 448
Main.main(String[]) line: 131
Start.main(String[]) line: 13

This is most likely caused by the chunk section the entity is in (as determined by the entity's position, at the bottom-centre of it's AABB) moving out of the view frustum, while part of the entity's body remains within.
While the entity would be considered visible according to its own render bounding box, the game only considers entities in the chunk sections that aren't culled, so the entity isn't rendered.
This is why it mostly affects entities standing at a position just under the top of a chunk section (y-level just under a multiple of 16).
One possible solution is to add an entity-sized margin to the render chunk bounding box checks (in RenderGlobal#setupTerrain
).