2010-02-21 8 views
4

Я пытаюсь Google за то, что я упомянул в названии, но почему-то не смог найти его. Это не должно быть так сложно, не так ли?Как установить/получить пиксель на текстуре в OpenGL ES на iPhone?

Что я ищу - это способ получить доступ к текстуре OpenGL ES на iPhone и способ получить/установить пиксель с ним. Какие функции OpenGL ES я ищу?

ответ

4

Я не знаю о настройке отдельного пикселя, но glReadPixels может считывать блок пикселей из буфера кадра (http://www.khronos.org/opengles/sdk/docs/man/glReadPixels.xml). Ваша проблема с поисковой системой может заключаться в том, что текстурные пиксели часто сокращаются до «текселей».

6

Прежде чем OpenGL ES сможет видеть вашу текстуру, вы должны загрузить ее в память уже, сгенерированные имена текстур (glGenTextures) и связать ее (glBindTexture). Данные текстуры - это просто большой массив в памяти.

Поэтому, если вы хотите изменить один тексель, вы можете манипулировать им в памяти, а затем снова привязать его. Этот подход обычно выполняется для генерации процедурной текстуры. В сети есть много доступных ресурсов, например: http://www.blumtnwerx.com/blog/2009/06/opengl-es-texture-mapping-for-iphone-oolong-powervr/

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

Я понятия не имею, какой эффект вы ищете. Однако, если вы настроите таргетинг на устройство, поддерживающее пиксельные шейдеры, возможно, пользовательский пиксельный шейдер может делать то, что вам нужно.

Конечно, я работаю в предположении, что вы не имели в виду пиксель, как в экранных координатах.

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

  • Нет связанных вопросов^_^