программирование OpenGL ES на базе iOS - PullRequest
2 голосов
/ 20 мая 2011

Мне нужно найти ресурсы для изучения openGL ES для iPhone.

Я уже смотрел потрясающие видео Брэда Ларсона и сейчас скачиваю продвинутые видео с Apple.

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

Я хочу изучить большинство возможностей OpenGL, но моя главная цель - иметь возможность манипулировать изображением в зависимости от местоположения касания.В частности, я хочу создать эффект водной ряби, который следует за пальцем пользователя.

Я знаю, что на StackFlow есть много уравнений, которые реализуют это, но я теряюсь, когда дело доходит до выяснения, как их использовать.

Ответы [ 3 ]

8 голосов
/ 20 мая 2011

Я ценю добрые слова на видео. Это определенно заставляет класс чувствовать, что оно того стоило.

У вас есть примечания к курсам для обоих семестров класса? Примечания весенней сессии можно найти здесь в формате HTML (формат VoodooPad здесь ) и осенние здесь (формат VoodooPad здесь ) , Ссылки в iTunes U не очень очевидны для них, и они содержат много ссылок на ресурсы OpenGL ES, которые я считаю полезными, а также весь пример кода, который я демонстрирую в классах.

Мне нравится работа, которую различные инструкторы в Стэнфорде проделали с классными занятиями по OpenGL ES в рамках курса по разработке приложений для iPhone ( также в iTunes U ). Они предоставляют иной взгляд на API, чем я, и мы оба пришли к этому, не предполагая, что вы знаете OpenGL.

Как предполагает Барт, серия 10101 * Джеффа ЛаМарча "OpenGL ES с нуля" чрезвычайно популярна по уважительной причине, и он публикует неопубликованные главы из своей книги по OpenGL ES 2.0 в последнее время.

Для книг я настоятельно рекомендую Программирование iPhone 1023 * от Филиппа Ридоута , которое знакомит с основами математической математики и знакомит вас с некоторыми довольно продвинутыми приемами. Это также одна из немногих книг, которые проводят значительное количество времени с OpenGL ES 2.0.

Однако лучшее, что я предлагаю для изучения OpenGL ES, это не тратить время на чтение книг и статей, а на самом деле сформулировать простой проект и попытаться реализовать его. Найдите примеры приложений, которые делают то, что вы хотите, и выделите их. Вернитесь к этим ресурсам, когда столкнетесь с кирпичными стенами, и вы лучше поймете, как все концепции сочетаются друг с другом. Я очень мало знал об OpenGL, когда начинал использовать свое первое приложение, но я создавал небольшие кусочки и автономные прототипы, пока не знал достаточно, чтобы собрать воедино что-то, что сработало.

В вашем случае я бы очень внимательно посмотрел на ресурсы, связанные в ответах на вопрос " GLSL для простых эффектов поверхностной воды ", которые делают именно то, что вы хотите. Одна реализация использует OpenGL ES 1.1, другая - шейдеры в стиле 2.0. Выберите способ, по которому вы хотите пойти ( Моя личная рекомендация будет сейчас изучать шейдеры ) и попытаться сделать грубое, функциональное приложение, работая с видео и материалами для чтения.

4 голосов
/ 20 мая 2011

Возможно, вы захотите взглянуть на это: http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html

Эти учебные пособия кажутся относительно удобными для начинающих.

1 голос
/ 17 января 2012

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

Вот код, который делает именно это: http://developer.apple.com/library/ios/#samplecode/GLCameraRipple/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011222

...