IPhone OGL: написать компонент

Гость17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
29.10.2009

Требуется написать компонент и продемострировать его работу.

Итак, если некоторый 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)Вы получаете деньги и передаете мне исходники.

Заявки фрилансеров