Я пользователь Google Cardboard + Unity и хочу рисовать собственные 3D-линии. Для этого я поместил скрипт на каждую камеру глаза, который выглядит следующим образом:
void OnPostRender()
{
GL.InvalidateState();
GL.PushMatrix();
mat.SetPass(0);
GL.Begin( GL.LINES );
GL.Vertex(...);
GL.Vertex(...);
...
GL.End();
GL.PopMatrix();
}
Хотя он отлично работает на компьютере (даже на Oculus), на Android он ведет себя по-другому: линии рисуются за пределами области просмотра, что раздражает, потому что последняя нарисованная область просмотра загрязняет первую.
Я не могу размещать изображения, но линии правого глаза обгоняют левый глаз. Я использую Samsung Galaxy S3 + OpenGL ES 2.0 (версия 3.0 недоступна для этого устройства). Есть ли способ избежать такого поведения на Android?
NB: GL.InvalidateState() используется для получения правильных цветов, иначе линии на Android будут черными.