Структура PTF-файла

Обсуждение специальной версии Magic Particles (Dev), предназначенной для разработчиков игр.

Структура PTF-файла

Сообщение Zloten » Ср апр 27, 2011 2:21 pm

День добрый :)
Пишу на данный момент движок для 3d-игры на OpenGL и как раз закончил с собственной системой частиц. Но хотелось бы потестировать Вашу прогу в действии. Я так понимаю для Android'а пока врапера не предвидится, поэтому хотелось бы самому экспортировать данные из ptf в свою систему частиц. Данные по структуре этого файла я не нашел в SDK, я могу их получить для тестов?
Это открытые данные ?
Zloten
 
Сообщения: 3
Зарегистрирован: Ср апр 27, 2011 2:11 pm

Re: Структура PTF-файла

Сообщение Odin_KG » Чт апр 28, 2011 2:44 am

Я так понимаю для Android'а пока врапера не предвидится,

Это необязательно. Если заказчик будет, то я соберу под андроид, просто пока никто не спрашивал.

Это открытые данные ?

Для версии 1.72 файл PTF открывается при помощи API, в справке API.chm эти функции начинаются со слова Import_.

Но вообще я думал убрать PTF из новой версии, потому что, мне кажется, что он не очень-то и нужен, а таскать его за собой достаточно напряжно.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: Структура PTF-файла

Сообщение Zloten » Пт апр 29, 2011 2:43 am

Заказчиком я бы хотел стать , но все надо тестить сначала, дело в том что неизвестно быстродействие данной программы на мобильной платформе.
Тут еще большой вопрос возникает, каким манером внедрять эффект -
- если файлом PTF то для каждого эффекта надо держать нехилый массив данных в памяти, а если эффектов несколько и подгружать их динамически, то будут ощутимые рывки в фпс (подгрузки даже маленьких файлов занимают на мобиле 0.5 секунды)
- с другой стороны программный эммитер - это дело лучше, но насколько тяжела будет логика эммитера? как он будет сажть фпс? надо тестить конечно.
74 евро это нынче не деньги и заказать у вас программу с врапером под Андроид я бы хотел (хотя воспользуюсь я ей или нет будет зависеть от тестов), только я не уверен что ради этой суммы Вы будете тратить время, но с другой стороны хорошие и дешовые патиклы очень нужны многим кодерам под Андроид.
Очень большую надежду я могу возложить на то что Вы пишете в нативном коде, в котором я довольно малоопытен, и за счет него есть предположение что просадки в фпс будут небольшими.
По большому счету гигантское кол-во одновременных частиц на мобиле не нужно. Для примера энчант огня на оружии у меня использует 100 одновременных частиц с 5тью разными текстурами и этого хватает за глаза. Главное в качестве эммитера(логике).
Как результат теста могу сказать что простенькая система частиц у меня выдает такие результаты на телефоне (Galaxy S):
Java + OpenGL
1000 одновременных частиц
5 текстур
каждая частица выполняет при рендере два glTranslatef, два glRotatef, один glGetFloatv плюс пара легких формул
полный рендер занимает 0.08с(80мс)
По мне так это слишком долго, надежда только на Си.

Если Вашу программу уже использовал кто-либо в мобильных играх, нельзя ли узнать результативность ее?
Так же были бы интересны Ваши мысли насчет всего что я написал, и если я выступлю как заказчик, в какой срок я могу расчитывать на врапер под Андроид?
Zloten
 
Сообщения: 3
Зарегистрирован: Ср апр 27, 2011 2:11 pm

Re: Структура PTF-файла

Сообщение Odin_KG » Пт апр 29, 2011 1:29 pm

Тут еще большой вопрос возникает, каким манером внедрять эффект -
- если файлом PTF то для каждого эффекта надо держать нехилый массив данных в памяти, а если эффектов несколько и подгружать их динамически, то будут ощутимые рывки в фпс (подгрузки даже маленьких файлов занимают на мобиле 0.5 секунды)

Я PTF-формат удалю в новой версии, так как большого толка от него нет. Может потом верну, когда в этом смысл появится.

- с другой стороны программный эммитер - это дело лучше, но насколько тяжела будет логика эммитера? как он будет сажть фпс? надо тестить конечно.

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

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

Я бы еще знал, что такое "нативный код" :D

Как результат теста могу сказать что простенькая система частиц у меня выдает такие результаты на телефоне (Galaxy S):
Java + OpenGL
1000 одновременных частиц
5 текстур
каждая частица выполняет при рендере два glTranslatef, два glRotatef, один glGetFloatv плюс пара легких формул
полный рендер занимает 0.08с(80мс)
По мне так это слишком долго, надежда только на Си.

Честно говоря, я не думаю, что Magic Particles даст лучшие результаты на телефоне. Единственное что... текстура должна быть одна, а не 5. Скорость сотового телефона я себе представляю с трудом, так как просто не увлекаюсь этим направлением. На ipad-е работает вполне нормально, а что там с телефоном будет понятия не имею.
На самом деле в сложных современных 3D-играх обычно количество частиц на экране в пределах 100. А за 1000 дизайнера выгонят с работы, потому что смысл в том, чтобы сделать оптимально. Правда, принцип создания спецэффектов в 3D не совсем такой же как в 2D.

Если Вашу программу уже использовал кто-либо в мобильных играх, нельзя ли узнать результативность ее?

Есть только на ipad: http://itunes.apple.com/app/id384039204?mt=8
Видео: http://www.youtube.com/watch?v=b2HIqAgemi4
Спецэффекты брались с PC без переделок, т.е. они те же самые, что и в PC-версии.

Так же были бы интересны Ваши мысли насчет всего что я написал, и если я выступлю как заказчик, в какой срок я могу расчитывать на врапер под Андроид?

Естественно, что сумма в 74 евро мне не очень интересна как оплата. Но теоретически сделать порт на андроид было бы полезно. Но заняться я этим смогу не ранее, чем выпущу новую версию официально. Потом можно подумать, что делать с андроидом. Кроме того, я могу лишь собрать библиотеку, не вдаваясь в тех. подробности сотовых телефонов, т.е. изучать Java ради этого у меня нет большого желания. Обычно я просто собираю саму библиотеку и отдаю заказчику, а он сам разбирается с враппером.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm


Вернуться в Magic API

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron