- Home /
Rendering a simple Quad on Android is buggy
Hi,
I have a very simple scene: A camera at [-3.5, -2, 0] with a rotation of [0, 90, 0], a directional light and a quad at [0, -3.5, 0] with a rotation of [90, 0, 0] and a scale of [7, 13, 1] (Note, the whole scene is attached link text; so no need to recreate this). The one "special" thing is that the quad has a material (Standard shader) with an Albedo texture, which has a tiling of x=7 and y=13.
In the editor, this looks alright (and also on a Windows, Linux, or Mac build). It's just a grid.
When I build an APK, however, I get the glitched image as seen here:
What's that triangle in the lower left hand corner?!
I am testing the apk on a Galaxy s10 with Android 10.
I have also created a bug report for this (case 1251777). Anybody else experiencing this? Am I missing a setting?
Thanks for any insights, Philipp
BTW: I originally created the scene with Unity 2019.3.7f1, but the bug still exists in 2019.3.10f1 and in 2019.3.15f1.
Answer by CmdrStardust · Jun 10, 2020 at 04:53 PM
So, today I received an answer about this from Unity Bugs:
"Hi, your issue is a known GPU driver bug, unfortunately we can't fix it. But the good news is it's easy to workaround it. This issue happens only on triangles that are perfectly axis aligned and has edge longer than 2^14 pixels on screen plane. So to workaround your issue, simply subdivide your triangles, so they would be smaller on screen, or add small rotation so that the triangles would not be perfectly aligned to world axis."
Hmm... I hope this helps some of you guys out there. I'm not quite sure, how I am to subdivide a (Unity) quad, though... And: Wouldn't that mean an impact on performance? Not really sure how I should go about this. As for a small rotation... I might be able to get away with something like "if rotation.x is 0" make it 0.001... Not sure. I'll experiment...