Я делаю приложение для iOS, где у меня есть библиотека рендеринга черного ящика, которая имеет свой собственный EAGLContext и фрейм-буфер и выполняет свой собственный рендеринг. Мне также нужно сделать дополнительный рендеринг за пределами черного ящика lib.
До сих пор я делал это, внимательно читая, устанавливая и восстанавливая все соответствующие состояния каждого кадра. Это работает, но сложно и трудно поддерживать. Затем мне пришло в голову: «Почему бы вместо этого не использовать отдельный EAGLContext?»
Я реализовал второй контекст, поэтому теперь я переключаю контексты вместо установки / восстановления всех состояний каждого кадра. Единственная проблема в том, что я получаю много визуальных артефактов, и производительность возросла с 30 FPS до 5 FPS ...
Так что, по-видимому, я не должен рендериться на один и тот же кадровый буфер из нескольких контекстов. Кто-нибудь может это подтвердить?