2012-01-29 2 views
0

В моем приложении у меня есть эквалайзер с визуализатором за ним.Возможно ли рисование с кварцем 2D поверх EAGLLayer?

Эквалайзер представляет собой серию точек, которые представляют собой изображения с траекторией, проведенной между ними с использованием Quartz 2D (также с отметками меток внизу и слева для обозначения частот и коэффициентов усиления). За этим визуализатор выполнен с использованием OpenGL с CAEAGLLayer.

Способ, которым это настроено, есть подъярусный вид главного представления контроллера моего представления, который обрабатывает визуализатор, а выше - другое подзаголовок основного представления, которое рисует путь. Над ними изображены виды изображений для точек эквалайзера.

Что происходит, путь чертит до начала композиции, и визуализатор начинает рисовать. Кажется, он вытирает над ним кварц 2D. Даже при вызове setNeedsDisplay в представлении над ним каждый раз, когда он рисует, не работает. Как и OpenGL, предоставляется эксклюзивный доступ к нему. Однако UIImageView eq остается видимым.

Есть ли способ использовать кварц 2D на вершине с помощью слоя gl? Я бы предпочел не использовать OpenGL для рисования пути и отметки с помощью OpenGL, потому что мне пришлось бы рисовать либо текстуру 512x512, либо 1024x1024 и масштабировать ее, чтобы она не выглядела идеально, и у меня уже есть рабочий кварц код для рисования всего.

ответ

1

Есть ли способ использовать кварц 2D на вершине с помощью слоя gl?

Да, это явно поддерживается. docs даже подробно описывает, как оптимизировать чертеж для этой конфигурации.

Мое подозрение, что ваши взгляды на самом деле находятся в неправильном порядке, а вид GL сверху. Во-первых, убедитесь, что ваше GL-представление отмечено opaque (для производительности, но также и потому, что оно сделает его более очевидным, если оно в неправильном порядке). Затем проверьте порядок просмотра (проверьте основной вид subviews).

+0

Wow я почти хочу удалить этот вопрос из-за смущения ... Я забыл, что элементы в верхней части списка в IB находятся внизу иерархии представлений. Выходит два года разработки iOS 6 дней в неделю, и я все еще забываю такие мелочи. : P По какой-то причине я просто посмотрел на него и сказал себе: «Да, это на высоте» и никогда не пробовал переместить его. Спасибо :) –

+0

Кажется, я никогда не упускаю шанс доказать, что я не заслуживаю моего ручка в Интернете! –

Смежные вопросы