Сделать EAGLView прозрачным? - PullRequest
       18

Сделать EAGLView прозрачным?

0 голосов
/ 23 февраля 2012

Можно поместить в объект UIViewController объект EAGLView и сделать фон EAGLView прозрачным, чтобы увидеть, что позади?1005 *

Я пробовал, который появляется в этом посте.Но все же слой EAGLView выглядит как черный квадрат.: (

Есть идеи, почему у меня это не работает?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

openGLView.opaque = NO

Также обратите внимание на правильную непрозрачность в альфа-канале кадрового буфера OpenGL.И обратите внимание на ответ Тарка о падении производительности.

0 голосов
/ 23 февраля 2012

Не существует такой вещи, как EAGLView, но определенно возможно иметь CAEAGLLayer с прозрачным фоном поверх содержимого UIKit. Не рекомендуется, однако, из документов:

Поскольку поверхность рендеринга OpenGL ES представляется пользователю с помощью Core Animation, любые эффекты и анимации, которые вы применяете к слою, влияют на 3D-контент, который вы рендерите. Однако для лучшей производительности выполните следующие действия:

  • Установите непрозрачный атрибут слоя на TRUE.
  • Установите границы слоя в соответствии с размерами дисплея.
  • Убедитесь, что слой не преобразован.
  • Избегайте рисования других слоев поверх объекта CAEAGLLayer. Если вам нужно рисовать другой контент, не относящийся к OpenGL, вы можете счесть приемлемыми затраты производительности, если поместите прозрачный 2D-контент поверх содержимого GL, а также убедитесь, что контент OpenGL непрозрачен и не преобразован.
  • При рисовании ландшафтного содержимого на книжной ориентации вы должны вращать содержимое самостоятельно, а не использовать преобразование CAEAGLLayer для его поворота.
...