Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
Да, проверил. Производительность разочаровала. Но скорее всего, я чего то не понимаю на данном этапе. Получилось 528 полигонов 32x32, 16 бит на пиксель, без сжатия, деформированные - около 10-12FPS. Подозреваю что я что то не правильно делаю, потому что при уменьшении количества полигонов до 260 скорость увеличивается на пару FPS не более. В общем еще разбираюсь. Сейчас текстурирование и свет у меня по плану. Ну и дальнейшее развитие движка.
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Versus писал(а):
Классно, что и говорить. А производительность низкая может потому, что не используешь 3dlib?
Вряд ли. Движок простейший. Расчетов минимум. Что то я не учитываю. Но надеюсь разобраться. Кстати, эти проволочные модели сами по себе медленные, так как отрисовывается каждый полигон. В движке с текстурированием невидимые поверхности будут пропускаться в GPU. Так что скорость будет выше, я надеюсь.
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
... сколько полигонов в последнем "шарике"? Какова теперь производительность?
Движок девственно чист от игровой механики. Только обработка 3D изображения. Нет работы со светом. По мере развития думаю производительность упадет. Конечно буду стараться оптимизировать все и вся. Время покажет. Сколько полигонов в шарике - ХЗ . Я грохнул модель. Не много, думаю. Это из-за текстуры кажется что полигонов много. Оптический обман. Рендерил модель чайника в котором 300 полигонов - FPS упал до 13. Но я не применял никакой оптимизации.
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Ну, и добавил к движку обработку света...
Простейший 3D движок
Далее по плану оптимизация модуля рендеринга с целью минимизировать накладные расходы алгоритма, усложнение механики 3D сцены - работа с несколькими камерами и источниками света, работа со сложными моделями из 3D Max, создание простейшего 3D мира с механикой взаимодействия объектов... В общем работы много. Update(1): внес некоторую оптимизацию - модель из 150 полигонов при FPS:32-33
Последний раз редактировалось nikk 21 мар 2011, 09:38, всего редактировалось 5 раз(а).
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Добавил обработку сцены из нескольких 3D объектов -
Простейший 3D движок
Сцена состоит из 2х объектов. Каждый объект состоит из 150 полигонов, итого 300 полигонов в сцене - 18 FPS.
Update(1): По ходу разработки движка возникла необходимость в алгоритме создания текстуры из другой текстуры путем определения прямоугольной области. Такая процедура есть в SDK, но как выяснилось - нерабочая. Я ее подправил до рабочего варианта:
Здесь я создал две субтекстуры (128х128 и 32х32 из невидимой на экране текстуры 256х160) и манипулировал c PRE0 и PRE1 для создания эффекта скроллинга.
Последний раз редактировалось nikk 28 мар 2011, 10:35, всего редактировалось 4 раз(а).
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Versus писал(а):
Для трехмерной игры маловато производительности будет. Или я ошибаюсь?
Я пока не разобрался где грабли. Вроде как, консоль может отрисовывать 9-16 млн. пикселей в секунду, но я пока что максимум выжал из нее - 7 млн. Где остальные миллионы я не знаю. Читаю патенты на чипсет. А про FPS - в SDK есть указание, что для качественного программного продукта FPS должен быть не ниже 15. Да и по играм на 3DO можно судить. Многие игры имеют проседание FPS даже ниже 15 (см. Killing Time и проч.). ЗЫ: путем небольшой оптимизации алгоритма я добавил к FPS пару кадров. Сейчас на той же сцене - FPS = 20
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Ясно. Я думаю, что нужно взять оптимизированную сцену (какой-нибудь интерьер скачать), посчитать количество полигонов. Закинуть в твой двиг и оптимизировать FPS до нужного значения.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Versus писал(а):
Ясно. Я думаю, что нужно взять оптимизированную сцену (какой-нибудь интерьер скачать), посчитать количество полигонов. Закинуть в твой двиг и оптимизировать FPS до нужного значения.
Движок еще на начальном этапе развития. Только начал его проектировать. Оптимизировать надо сам алгоритм в принципиальных вещах - секции алгоритма нагруженные математикой, писать на asm, исключать операции деления и умножения, замещая их операциями сдвига и сложения-вычитания, активно использовать мат. сопроцессор, применять специальные алгоритмы уменьшения объемов расчетов (например LOD - уровни детализации объектов, причем подгружаемые, потому что памяти маловато) и т.д. Еще и не каждая сцена из 3D Max будет оптимальной, сцену для игры создавать надо с учетом того, что в консоли полигоны - четырехугольники, а не треугольники как например в плойке. В общем -
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Добавлю еще немного измерений математической скорости консоли. Данные операции применяются для конструирования 3D движков и можно судить об эффективности применения. Операции, где в скобках указано software - это математический аналог, без скобок соответственно вызов библиотечной функции. t0 - время выполнения 1000 циклов расчета данной функции или 1000 векторов для выполнения пакетной в микросекундах, t1 - время выполнения одного цикла функции или примерное время обработки одного вектора (t0 / 1000) в микросекундах, t2 - время выполнения одного цикла функции или примерное время обработки одного вектора (t1 * 12,5) в тактах ARM60. Удивительно, что ряд библиотечных функций оказались значительно медленнее чем программные аналоги, написанные с использованием математических формул. Единственный выигрыш при вызове этих функций - мизерная экономия памяти. Все параметры сняты с реальной консоли. Эмулятор вносит погрешность во времени вычислений до 20-25%.
В SDK есть два варианта 3D движка-конструктора 3Dlib и PGL. PGL это более новый движок, написанный с использованием однородных координат. По идее должен быть быстрее чем 3Dlib. Появился этот движок в SDK, начиная с версии Toolkit 1.5. В предыдущих версиях был 3Dlib. Здесь небольшая демка из SDK с использованием PGL движка. Сырая и ужасно тормозная. На эмуляторе надо настройку скорости ARM выкрутить на максимум и тогда можно полетать.
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Totaku писал(а):
... в чём преимущества и недостатки этих двух движков по отношению друг к другу?
Отличается механика ядра, примененные алгоритмы, векторная математика, применяется подобие механики из OpenGL и DirectX. В частности гомогенная система координат, где вектора имеют не 3 координаты X,Y,Z, а 4 и в связи с этим применяется перемножение матриц 4х4. В этих матрицах накапливаются сразу все изменения объектов - масштабирование, поворот вокруг осей, перемещение и трансформация перспективы. Для математики применяется только перемножение матриц трансформации с целью получить результирующую матрицу, которую используют как множитель для векторов. Я сначала использовал в движке как раз гомогенную систему координат, затем попробовал систему координат X,Y,Z. Далее я провел повторное тестирование консоли на производительность. Потери на дополнительные вычисления в не гомогенной системе - существенные. Так что сейчас буду переписывать снова. Вообще при создании 3D игры в консоли есть достаточное количество узких мест. Требуется серьезный опыт, знание эффективных и быстрых алгоритмов работы с 3D, чего у меня к сожалению нет. Поэтому пробую, экспериментирую на любительском уровне, накапливаю знания . Может что и получится...
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Мне не хватает подобных знаний, поэтому подсобить не могу, а оччень хоцца! nikk, ты единственный сейчас, кто может сделать (и, что самое главное, делает) 3D движок на 3DO. Не бросай начатое! Мы с тобой!
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Да сам смотрю, сказать нечего Тему давно пора было переименовать в Nikk's 3DO SDK Я тут нарвался на интересную штуку "3DO Software Development Kit & Patents" Там уже установленный SDK на hfv дисках, различная докуметация, патенты, старая страница Александра Труша с софтом... Отсюда, чтоль, это всё
_______________________________________
MUTHAFUCKASSSSCAN'TSTOPPPMEEEEEEEEEEE!!!!!!!!!!! Все мы живём в Царствии Небесном, просто слепы и не видим этого.
04 апр 2011, 11:10
Horde
Nikk безусловно молодчина, приклоняюсь перед его настойчивостью, терпением и энтузиазмом.
Totaku писал(а):
Значит не все ещё демки из СДК вынуть смогли?
Все и еще очень давно,несколько лет назад Мнемоник и Атла делали все демки тесты и давали информацию о том 3Dдвижке, библиотеке и даже о программе OFI , которая конвертирует 3D объеты и модели для 3do и о многом еще и выкладывали свои демки и тесты игр, так никто не интересовался
_______________________________________ Урча, пухлыми лапами кот вцепился в жидкую шевелюру конферансье и, дико взвыв, в два поворота сорвал голову с полной шеи. Две с половиной тысячи человек в театре вскрикнули как один.
Группа: Разработчики Сообщения: 405 Регистрация: 01 мар 2010, 09:07 Откуда: Омск
Модель 3DO:Panasonic FZ-10 NTSC-J
Ребята спасибо за поддержку. Постараюсь, по мере сил и возможностей, продолжать работу по SDK. Может что путнее в результате и получится. Энтузиазма пока хватает. Или мы не фанаты 3DO?! Horde, мне кажется, ты чуток погорячился.
_______________________________________ "Он сказал: «Поехали!» / Он взмахнул рукой, / Словно вдоль по Питерской, Питерской, / Пронесся над Землей."
Народ у меня вопрос....а есть ли возможность создать программу-конвертер? Чтоб видео из 3do конвертировать в более понятный для компьютера формат....Ну и обратная конвертация назад в формат 3do.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения