CesiumGS / CesiumGS/cesium-unity

Problems with left eye rendering on Quest 2/3 with Vulcan api

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

Description

The image displayed in VR on the left eye contains artifacts.

![image](https://github.com/CesiumGS/cesium-unity/assets/12583808/8f08395e-6be2-4b54-b1a3-12dbb2351030)

The issue was discovered on Quest 3 with Vulcan set Graphic API. The stereo rendering mode of the Oculus Plugin was set to Multiview.

It can be easily reproduced with the Cesium Unity Samples project; however, the issue appears in any project that uses the Cesium Unity plugin.

1. Download and unpack the Cesium Unity Samples project.
2. Open it in Unity 2022.3.x switch the target platform to Android.
3. Build an app with Oculus/Meta SDK for Meta Quest 2/3 and deploy it to the device.
4. Artifacts will be visible on the left eye as soon as CesiumGeoreference script starts to work.

The issue can be fixed by changing in Project Settings >> Other Settings >> Graphic API to OpenGLES3 instead of Vulcan (remove the Vulcan from the list).
![image](https://github.com/CesiumGS/cesium-unity/assets/12583808/abd32507-2d0d-4c33-a111-72cbdd2000ec)

IMPORTANT NOTE
It is not an ideal solution because Vulcan is recommended Graphic API as it has better performance than OpenGLES3.

Contributor guide

Open the contributing guide

Research direction

Reproduce the artifact in the Cesium Unity Samples project using Unity 2022.3.x, Android, Meta Quest 2 or 3, Vulkan, and Oculus Multiview. Start by observing when the CesiumGeoreference script begins working, then compare the result with OpenGLES3. Done means the left-eye artifacts no longer appear while Vulkan remains enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, csharp, unity
Domain
ar-vr-xr, computer-graphics, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.