Войти
Мобильные платформыФорумОбщее

[iPhone, XCode ] интерфейсы для разработки приложений активно выводящих графику на экран

#0
16:04, 15 сен. 2010

всех приветствую !

читаю сейчас iphone application programming guide.

вопрос про разработку игр и других приложений активно выводящих графику на экран

в документе советуют обратиться за подробной информацией по разделу графики  к
"View programming guide" и "Open GL ES programming guide"
и эти документы я тоже изучаю

правильно я понимаю что для разработки быстрой графики под iphone ведется через интерфейсы предостявляемые Open GL ES
причем в том числе и 2D плоских игр?

я помню ситуацию с Win32 .. там если 2D графику через GDI выводить получалось крайне медленно
интерфейсы Direct X были нужны (Direct Draw) чтобы достичь приемлимой скорости

и все эти Cocoa View Classes описываемые  "View programming guide"  тут не аналог ли медленного GDI ?


заранее спасибо за ответы ! )


#1
17:44, 15 сен. 2010

>правильно я понимаю что для разработки быстрой графики под iphone ведется через интерфейсы предостявляемые Open GL ES
Да

>и все эти Cocoa View Classes описываемые "View programming guide" тут не аналог ли медленного GDI ?
Нет. Они используют хардварное ускорение

#2
9:04, 20 сен. 2010

StiX
и даже плоские 2D игры через Open gl?
не слишком ли там получается затратно, если нужны только простые спрайты

меня интересуют именно приложения выводящие плоскую графику на iphone

#3
10:57, 20 сен. 2010

Kane
если ты никогда не имел дело с Objective-C и Cocoa то в много раз (разница во времени раз в 5-10 !) быстрее написать напрямую на OpenGL ES чем пытаться заставить этот разваливающийся замок из какашек работать хоть как либо

ps. есть же готовые движки для iphone, только на cocos2d не смотри, писать на нём в два раза медленнее чем на opengl напрямую
к примеру посмотри http://xors3d.com/ixors3d/ixors3d-features

#4
11:21, 20 сен. 2010

.::jimon::.
> заставить этот разваливающийся замок из какашек работать хоть как либо
Со временем к тебе придет понимание того, что делать ЧТО УГОДНО на Cocoa так же легко и быстро, как и на всем остальном. В том числе и OpenGL. Работать с ним легко и приятно ;)

#5
12:48, 20 сен. 2010

я никогда не писал на mac железо,  что на MacOS что на iOs
да и с open gl я не знаком

и любой движок игровой на iphone будет для меня новым,  я знаком только с HGE на PC
любой их них предоставляет свое пространство интерфейсов которое необходимо изучить и пользоваться

вот я сейчас размышляю и анализирую в какую из этих трех стихий выгоднее двигаться
1. Cocoa (он среди кандидатов только потому что задача стоит вывода плоской графики. как только появится задача с 3D нужно будет переучиваться)
2. чистый Open GL
3.  игровой движок (например предложенный ixors3d) или мультплатформенный SDK по типу airplay

в какой из них будет быстрее достичь результата: наверное специализированный игровой engine позволит добиться быстрой отдачи
Знание какой из них будет полезнее на других платформах и вообще в целом:  open gl  тут вне конкуренции я думаю, он на всех портативных устройствах да и на большом железе

#6
13:45, 20 сен. 2010

Все-таки, думаю, быстрее всего будет разобраться с OpenGL'ем. Для начала ES 1.x.

#7
9:24, 22 сен. 2010

Kane
Используй cocos2d. Очень легкий. Не зная движка, в нем можно запросто разобраться за день. Очень много примеров идет прямо с движком.

#8
15:21, 22 сен. 2010

по cocos2d два диаметрально противоположных мнения

на сайте cocos2d-iphone
все выглядит оч красиво и многообещающе

#9
16:01, 22 сен. 2010

НЕ используй cocos2d, это кривая, тормозная херня написанная на obj-c. Там звук до сих пор числится в экспериментальных фичах и стянут с какого-то туториала по созданию кривого, тормозного звукового движка. Лучше смотреть в сторону oolong engine....

#10
19:10, 23 сен. 2010

Средствами OpenGL ES стоит делать анимацию, которая чаще перерисовывается. Т.е. непосредственно рендерить сцену игры.
Cocoa (CoreAnimation/QuartzCore) дает возможность применять 3Д-преобразования к контролсам, скорость в этом случае медленней, хотя и приемлема, ибо эта библиотека тоже аппаратно ускорена. Отличное решение для красивеньких нестандартных гламурных менюшек и экранчиков.
Про cocos2d слышал много негатива от знакомых ифонеров. Сам факт того, что он написан на ObjC говорит не в его пользу. Ну не создан ObjC для реализации таких вещей, как внутренности рендеринговых движков.

#11
1:17, 25 сен. 2010

я так понимаю что в opengl рисуется плоская сцена и и потом на нее накладываются текстуры

как то так примерно (это в Hehe так)
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
              glTexCoord2f(1.0f, 0.0f);  glVertex3f(...);
              ........
              ........
              ........
glEnd();

в opengl не будет проблем с отображением 2д спрайтов?
они не будут зафильтрованы и замыты?

ведь очень хотелось бы отобразить пиксельную графику пиксель в пиксель точно

#12
4:57, 25 сен. 2010

Kane
> в opengl не будет проблем с отображением 2д спрайтов?
> они не будут зафильтрованы и замыты?
Если криво посчитать текстурные координаты или позиции вершин, то тогда может возникнуть замыливание (или пропадающие/дублирующиеся пиксели в случае отключенной фильтрации).
Но если сделать всё правильно, то графика будет выводиться пиксель-в-пиксель.

Мобильные платформыФорумОбщее

Тема в архиве.

Прежде чем заказать разработку мобильного приложения.