CesiumGS / CesiumGS/cesium-unity

OpenGLES3 Error when rendering Cesium Tiles on Quest Devic

Open
#431 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
535
Forks
132
Avg merge
6h 45m
Merged PRs (30d)
1

Description

Reported from the community [here](https://community.cesium.com/t/opengles3-error-when-rendering-cesium-tiles-on-quest-device/30212),

We started getting this error when we switched to OpenGLES3 from Vulcan. Google seems to point to single pass/double pass issues with the shader.

```AndroidPlayer "Oculus_Quest Pro@ADB:230YC01DB200SQ:0" Assertion failed: OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_OPERATION: Operation illegal in current state```

You can easily reproduce this in the sample cesium projects if you run them on Quest. The errors only appear when a cesium tile is rendering on Android.

We believe the shader is Cesium_RoundPolygonMask

If we put that in the scene on something unrelated to cesium tiles it doesn’t throw the error. So we assume its a specific pass being used within that shader.

Contributor guide

Open the contributing guide

Research direction

Reproduce the error in the sample Cesium projects on an Oculus Quest using Android and OpenGLES3, with a Cesium tile rendering. Then inspect the Cesium_RoundPolygonMask shader and the pass used for Cesium tiles; done means no GL_INVALID_OPERATION occurs during tile rendering.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, unity
Domain
computer-graphics, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.