IPhone OGL: написать компонент
Требуется написать компонент и продемострировать его работу.
Итак, если некоторый UIViewController, сделанный в IB,связанный со своим кодом класса. В нем есть UIView, для которго также сделан дизайн, наример 2 кнопки, который через IBAction связаны с кодом в UIVIewController (вернее нашем его субклассе, но не суть).
Далее есть EAGLView , который отображается пользователю. У него есть ссылка на UIViewController , тоже через IB, вобщем они связаны.
Требуется написать класс 3д-объекта - плоскости, которая умеет:
1)Отображать содержимое UIViewController а,связанного с ней, всю его анимацию, если таковая есть.
2)Пересчитывать тачи EAGLView в координатах UIViewController - а (!! плоскость не обязательно находится под 0вым углом к камере, возможно она смещена или повернута, поэтому нужно пересчитывать координаты по цепочке
2Д координаты тача в EAGLView - > 3D луч до пересечения с плоскотью UIVIew ->3Д точка пересечения луча и плоскости -> 2Д координаты в системе UIViewController а.)
3)Отправить UIViewController-у пересчитанные тачи.
Нужно пересылать все 4 селектора (touchesBegan,touchesEnded,touchesMoved,touchesCancelled)
С математикой пересчета я могу помочь, если кому сложно, напишу в Маткаде, а вы уже реализуете на objective-C
Подобные штуки уже реализованы под OpenGL для больших компьютеров (перенос клика на 3д-объект с нарисованным на нем GUI), покопайте.
Все рассказать не могу - иначе бы не размещал проект, могу только посоветовать направления в которых двигаться.
Маленькие подсказки
Q:Как рендерить в текстуру?
A:Сначала нужно получить изображение UIView в виде UIImage или CGImageRef (что лучше),затем сконвертировать эту картинку в OGL-овскую текстуру, затем обновить текстуру у плоскости
Q:Как получить изображение UIView?
A:после метода drawView в графическом контексте UIView формируется изображение, которое затем используется для вывода на экран, его же можно получить как CGImage. Точно можно, погуглите.
Схема оплаты такая:
1)Выбираю кандидата, перевожу оговоренную сумму с протекцией по Webmoney
2)Делаете, присылаете мне ад-хок на 1 мое устройство (если нет сертификата, то это тоже решаемо)
3)Я смотрю адхок и посылаю Вам код протекции
4)Вы получаете деньги и передаете мне исходники.