GL_POINTS + glDrawArrays не рисует все точки, если я не переворачиваю после каждой «плитки» / OpenGL ES с сохраненной поддержкой - PullRequest
1 голос
/ 14 ноября 2009

Кто-нибудь знает, почему это может произойти:

Я рисую на 2D-экране, используя glDrawArrays с GL_POINTS (чередующийся массив). Если я переворачиваю буферы (presentRenderbuffer) после любого вызова glDrawArrays - так после каждой «плитки» рисуется - все работает нормально.

Это, конечно, неэффективно ... поэтому, если я переместу presentRenderBuffer за пределы цикла отрисовки, я получу ошибки. В основном части экрана просто не рисуются, и они всегда находятся в одном и том же месте (середина экрана, по горизонтали).

Я использую ретенбэк (так как я обновляю только те плитки, которые изменились), поэтому мне нужно полагаться на то, что буфер кадров остается неизменным между рисованиями, чтобы я мог рисовать поверх него.

Есть какие-нибудь идеи, почему presentRenderBuffer после каждой плитки работает нормально, в то время как один финальный PresenRenderBuffer после всех розыгрышей не будет?

РЕДАКТИРОВАТЬ: Кроме того, добавление glFlush () в цикле рисования плитки и перемещение присутствуетRenderBuffer вне цикла также создает правильное изображение.

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