mirror of
https://github.com/bearstonem/openmohaa-vr.git
synced 2026-10-23 18:00:26 +02:00
The VR layer bound each eye, the UI buffer and the wrist panel directly and then told the renderer afterwards. That order was harmless while the renderer issued every call as it made it. It is not harmless under gl4es, which batches geometry and flushes lazily: it only learns to flush when something it knows about changes the target, so a batch left over from one pass would arrive in whatever was bound next - the previous eye's contents showing up in this one. Routing the transition through re.SetDefaultFramebuffer first gives gl4es the chance to flush into the target the geometry was drawn for. The direct bind stays where it was needed, since the renderer only binds framebuffers when its own framebuffer support is on; it is now a no-op against the same target. Also points the Android docs at renderergl1 with gl4es under it, and records that libgl4es.so rides into the APK as a dependency of libopenmohaa.so rather than being loaded by name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>