mojira.dev
MC-165503

Fence gates (between walls) aren't affected by ambient occlusion/smooth lighting

As in the title, fence gates attached to a wall aren't affected by ambient occlusion, despite similar blocks being affected.

Underlying problem and possible solution

See @unknown's comment.

Linked issues

Attachments

Comments 18

It looks like this also affects beds, can you confirm this? Or is this a different issue?

Beds are also affected, but that's a different issue as they are rendered as entities and entities don't support ambient occlusion.

Jakob Terrell Sutton

@unknown can you update the affected versions as it is still a problem in the newest release 1.15.1.

I have figured out why this is a difficult problem to solve. The end frame had once AO turned on but that gave this bug: MC-51113 (TLDR darkens the top face of the end protal frame) I suspect that the other items suffer similar problems if the their AO is set on. Solving this problem will fix a bunch of other related bug such as MC-160917 where custom models cant have any complex geometry without being effect by the MC-51113 bug.

The current way Minecraft calculates AO is via each voxel (which is good as it's fast to compute). The downside is that any sub geometry of the voxel (i.e. 3d details in a given block) experiences unexpected darkening.

There is a solutions to this problem, and it should be relatively easy to implement:

In the model (.json) file, give the possibility to either enable or disable AO per face and/or per element, while still including AO for the root tag as it should be an indicator for the projection of AO on neighboring voxels/blocks. So to fix the case of the end portal frame just disable AO on the top face, or create a new element that only includes the top face and disable AO on that.

Thanks for the explanation. I don't think there's any issue with AO on doors and fence gates. Fence gates normally already have AO, they are missing in ONLY when they are attached to a wall, which is obviously an inconsistency and not intended.

I was told that my issue is a duplicate of this, so I thought I'd include the pic I took. MC-172852

8 more comments

Can confirm in 1.18.1.

Since end portal frames have a separate ticket due to the lack of ambient occlusion not being due to the model, can they be removed from this ticket?

Can confirm in 1.18.2.

Certainly intrigued by the recent activity on this ticket. I believe this ticket mainly concerns the fact that by default, doors, wall gates and end portal frames don't use AO, yet doors and wall gates are the only ones this is fixable for via model files due to end portal frames emitting light (MC-248609) which gets it another separate ticket (MC-165504, likely a duplicate of MC-50734)?

Personally I think this ticket should only concern the fact that doors and wall gates explicitly disable AO, which is an incredibly easy fix since that line just needs to be removed from the model files to fix this, and all the end portal details should be moved to MC-50734.

We've decided to split this issue up into separate cases:

  • End portal frames have been merged into MC-50734 since they're technically light sources (with light level 1).

  • Doors have been split into MC-172852 which was previously a duplicate of this bug report.

  • This bug report now is only about fence gates between walls.

Capopanzone

(Unassigned)

Confirmed

Low

Lighting, Rendering

ambient-occlusion, smooth-lighting

1.14.4, 19w45b, 1.15 Pre-release 1, 1.15.1, 1.15.2, ..., 21w15a, 1.17.1, 1.18, 1.18.1, 1.18.2

22w12a

Retrieved