В общем думал, думал и решил таки выложить тут. Пока Дядя Миша портирует ксаш для андроида (как там кстати продвигается?) я взялся за 3D движок для обычных мобилок - то бишь тех, что поддерживают J2ME. Пишу где-то месяц, но сделан еще далеко не весь объем работ. Тем не менее уже есть возможность побегать по различным картам а также полюбоваться системой частиц, которая в картах-примерах имитирует дождь и снег. В общем, надеюсь я каждый день тружусь не зря Почитать описание и посмотреть скриншоты можно на официальной странице - http://kiqsite.wen.ru/app/re Там же ссылка для скачивания. Жду отзывов
P.S. Извините, если вдруг запостил не в тот раздел.
А вижу, M3G API. А в чём тогда фишка фильтрации текстур, она ж наверняка там есть по дефолту?
Добавлено 26-08-2011 в 02:15:
И кстати:
Цитата:
он уже обеспечивает неплохую производительность и качество картинки
То, что на телефонах в целом уродское качество картинки, и то что у тебя - "неплохое", я охотно верю. Но неужели 3 фпс (пусть на телефонах) считается неплохой производительностью? А какая - плохая?
Ну да, там есть, только почти нигде не используется - как правило оставляют Nearest neathborn. Поэтому я выделил эту возможность. Производительность плавает в зависимости от телефона. У меня, например, от 8 до 15 кадров (Sony Ericsson C702), а на более продвинутом телефоне будет около 20, а это очень неплохо. Тормозит в основном на Nokia S40, так как там отводится мало памяти для ява. Есть еще досадный баг с размером экрана - тот самый, когда чем меньше экран, тем больше фпс. Может кто подскажет, что можно сделать? Кстати, тормоза дает и система частиц, к сожалению. Но там расчеты, которые не желательно убирать.. Плохая производительность, мне кажется, это когда у нас те же 3 фпс выдает картинка, которая выглядет хуже, чем у меня.
P.S. Фонарик включается на *, а для владельцев сенсоров предусмотрен экранный интерфейс.
KiQ какашка это все. На более производительных телефонах обычно своя ОСь стоит. Ява машины уже даже не ставят на современные телефоны, ну, кроме нокий на symbian. И то, симба уже прошлый век.
Ну по крайней мере у меня фпс не падает при включении фильтрации. Только на сильно открытой местности на первой карте. Хм. Я просто читал, что в каком то из idTech Кармак избавился от ''старой болезни всех движков от id'' - зависимости количества кадров в секунду от разрешения экрана. Я и подумал, что можно поднять фпс на больших разрешениях Просто тут обычные способы оптимизации, вроде портального отсечения не работают, максимум можно задать z дистанцию для камеры.
Добавлено 25-08-2011 в 23:56:
PoD-Stas есть ява-машины для Android, WM и прочих, но я ведь сразу сказал - движок для обычных мобилок. Ну а вообще есть реализация M3G для плюсов, DesktopM3G называется. Для J2SE тоже есть порт. То есть движок вполне может быть портирован на те же андроид и окна с приростом производетельности. Другой вопрос, что пока что я делаю версию наиболее доступную мне для тестирования а также для моего знания ЯП
KiQ писал: Я просто читал, что в каком то из idTech Кармак избавился от ''старой болезни всех движков от id'' - зависимости количества кадров в секунду от разрешения экрана.
Подумай логически - чем больше разрешение, тем больше пикселей надо рассчитать и отобразить. И не только видимых, но и в z-буфере, и в стенсил-буфере, если он используется, и в мультисэмпл-буферах, если включено сглаживание. Это называется общим словом fill rate. Он фиксирван для конкретной видеокарты, поэтому чем разрешение ниже - тем фпс выше.
Есть движки, у которых скорость отрисовки упирается в fillrate - обычно это из-за использования морально и технически устаревших технологий навроде stencil shadow volumes. Пример - небезызвестная в узких кругах волатила. А может быть из-за сложных пиксельных шейдеров, всяких навороченных скрин-спейс эффектов типа SSAO и SunShafts (пример - тоже, как ни странно, волатила... но уже по другой причине, слабая нагрузка на вертексный пайплайн, а это в свою очередь из-за трансформации на ЦП... но я ухожу от темы).
В случае мобильных телефонов и особенно софтварного рендера - fillrate становится ещё более важен, т.к. большое разрешение увеличивает нагрузку на ЦП при растеризации (видеокарта это делает аппаратно с незапамятных времён).
Ну это да. Стенсил у меня не используется, пока что я JSR-239 оставил до лучших времен. Ну вот у меня например графический чип есть, а на нокиях нет, вот и тормозит. Вот скоро постараюсь все вычисления в массе заменить на фиксированную точку, должно наростить производительность. А то сейчас используется стандартная апишная матрица, которая производит все операции с float.
__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."
PS:
* Nokia 7210 Supernova, FPS ~10, но до трех падает, бывает.
* Но самое печальное -- OutOfMemory часто происходит, когда в меню выходишь.
* Меню вообще по-моему слишком тяжелое, может стоит использовать стандартные возможности меню у телефонов?
* Надо бы возможность стрейфов добавить (на клавиши 1, 3 наверное) и наклоны камеры вниз-вверх (JoyUP, JoyDOWN).
Итак, запустилось. Думал, не запустится - была какая-то полоска и странная фиговинка рунообразная, но после форсирования центральной кнопкой джойстика все пошло. ФПС приемлемый для, скажем, квеста или РПГ, где РПГ >> экшна, на моей Nokia 3310c даже с фильтром и фонариком минимум был 8, а без фильтра до 20.
Я был бы непротив закатать на телефон бродильно-головоломную игру с какой-то прокачкой, чтоб можно было развивать персонажа месяцами, играя по 10-20 минут в день.
Вообще из 3д на своем телефоне я видел только Snake3D и честно скажу, не ожидал ничего лучше и интересней. Продолжай делать, это - круто.
Цитата:
qishmish писал:кому нужен 3д на телефоне?
Мне.
Бонус:
Цитата:
qpAHToMAS писал: Молодец что выложил, выглядит весьма симпотно .
PS:
* Nokia 7210 Supernova, FPS ~10, но до трех падает, бывает.
* Но самое печальное -- OutOfMemory часто происходит, когда в меню выходишь.
* Меню вообще по-моему слишком тяжелое, может стоит использовать стандартные возможности меню у телефонов?
* Надо бы возможность стрейфов добавить (на клавиши 1, 3 наверное) и наклоны камеры вниз-вверх (JoyUP, JoyDOWN).