Entity block rendering issue when ME Storage Monitor is in view.
Tree-er233 opened this issue ยท 3 comments
Your GTNH Discord Username
tree_er
Mod Version
1.0.0-Alpha11
Java Version
Java 21
Bug Report
Problems occur when ME Storage Monitor is enabled.
Mod List or GTNH Pack Version
GTNH 2.5.1 with
LWJGL3ify 1.5.7
Hodgepodge 2.4.4
CodeChickenCore/Lib 1.2.0
Final Checklist
- I have searched the issues and haven't found a similar issue.
- I have read the known incompatibilities and this is not related to one of those.
- This issue is not shader related (they aren't ready yet for testing)
After some investigation, this appears to be a problem with AE2's use of a display list for the storage monitor rendering, and particularly Angelica's GLStateManager handling of the state changed during the display list call.
This is the particular spot in AE2 that handles the storage monitor rendering, and where the display list is implemented: https://github.com/GTNewHorizons/Applied-Energistics-2-Unofficial/blob/master/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java#L219
In testing, if the display list is removed, and instead the this.tesrRenderScreen
call is used directly every time, then the bug does not occur. It also does not seem related to the difference between GL_COMPILE
and GL_COMPILE_AND_EXECUTE
because the bug persists regardless of which mode is used on the display list.
This can be easily re-produced with only AE2 present alongside Angelica. The storage monitor simply needs to render before the other TESRs on screen(this bug seems to re-produce with any TESR, vanilla chest works for example). Easy way to re-produce is to put the other TESR in a different chunk and position yourself such that the storage monitor is in the chunk closer to you.
This is fixed by #168 and should be in next Alpha release(alpha14)
Gonna re-open this for the moment. The first fix only worked if batched font rendering was disabled, #174 also fixes this with batched font rendering enabled, so I'll close this again when that is merged or we have a different solution for it.