Можно ли смешивать OpenglES со стандартными виджетами Какао в приложении для iPhone? - PullRequest
4 голосов
/ 17 июня 2010

Если это возможно, было бы неплохо увидеть некоторые примеры!

Спасибо, rui

Ответы [ 2 ]

6 голосов
/ 17 июня 2010

Этот вопрос задает нечто очень похожее, и, как я утверждаю, тривиально, чтобы контент OpenGL ES сосуществовал с элементами управления UIKit. Содержимое OpenGL ES живет в CAEAGLLayer, который поддерживает UIView, который является частью обычной иерархии представления. Вы можете легко наложить другие UIViews поверх него.

Например, вы можете посмотреть исходный код моего приложения Molecules , где я размещаю две кнопки UIB поверх моего представления OpenGL ES.

В моих тестах вы теряете ~ 1-5% вашей частоты кадров OpenGL, размещая другие представления поверх представления OpenGL ES, что не так уж и страшно. То, что вы не хотите делать, это сделать ваш контекст OpenGL ES непрозрачным и попытаться наложить его поверх других элементов представления, потому что тогда вы увидите значительное снижение скорости рендеринга.

1 голос
/ 17 июня 2010

Да, это возможно, ведь контекст OpenGL ES находится внутри другого подкласса UIView.Дело в том, что Apple не рекомендует смешивать объекты Cocoa Touch и представления OpenGL ES из-за значительного снижения производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...