Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Не сайты (http://www.flasher.ru/forum/forumdisplay.php?f=82)
-   -   3D движок Infinity3D (http://www.flasher.ru/forum/showthread.php?t=123482)

TERRORist 19.06.2009 23:06

сорри, не видел вопроса

Цитата:

ммм А кстати для сферических панорам FOV угол какой обычно ?
для игр freelook 360*360 - это примерно 70-80 гр, наверно для панорам такой же. Панорама - классная!

MonkDead 20.06.2009 00:03

С панорамами давно разобрался :)
К стате удалось настолько ускорить пиксельную перспективную коррекцию, что адаптивная триангуляция отмерла. Так что теперь нет вообще искажения!

TERRORist 20.06.2009 00:58

вертикальной синхронизации не хватает)

MonkDead 20.06.2009 01:23

Цитата:

вертикальной синхронизации не хватает)
Ммм, а поподробнее что вы подразумеваете под этим?

TERRORist 20.06.2009 01:49

вертикальная синхронизация позволяет избавится от ситуации когда отрисовывается только часть картинки за проход(это выглядит как "расслоение" если быстро крутить головой")

в полноэкранном режиме бы посмотреть на эту панорамку
(P.S. vsync не только для панорам хорош конечно но и для остального)

MonkDead 20.06.2009 01:58

Цитата:

в полноэкранном режиме бы посмотреть на эту панорамку
Кнопка "F" - fullscreen :)

Цитата:

vsync
Вы знаете сколько будет жрать такая компенсация, даже с аппаратной поддержкой FPS падает раза в два :(

MrPoma 20.06.2009 02:08

Извините, я не читаю лицензионные соглашения. Опишите, пожалуйста, в двух словах. Кстати, почему оно во флеше?

TERRORist 20.06.2009 02:09

О, спасибо. просто спросил потому что хотел убедиться что она автоматом включается в флеше при включении полноэкранного режима :)

Хотя я могу и ошибаться - нада по форумам адоби посмотреть

Имхо расслоение отсутствует в полноэкранном режиме, вам не кажется?).

MonkDead 20.06.2009 02:16

Цитата:

Имхо расслоение отсутствует в полноэкранном режиме, вам не кажется?).
- не такое же.
Цитата:

Извините, я не читаю лицензионные соглашения. Опишите, пожалуйста, в двух словах.
- хех, как говорится не знание закона не освобождает от ответственности. Вы понимаете в двух словах нельзя описать смысл теряется.
Цитата:

Кстати, почему оно во флеше?
- а почему бы и нет :)

TERRORist 20.06.2009 02:19

А, точно... просто у меня все полоски переместились в самый низ экрана поэтому я их не замечал :( Жаль.

MonkDead 20.06.2009 02:23

Хех, а у меня только по верху и не полоски, а квадратные участки. Я знаю как пофиксить эту вещь, без особой потери производительности. Например ввести frame buffer, но есть нюансы, из-за отсутствия возможности работать напрямую с памятью.

MrPoma 20.06.2009 06:46

Цитата:

Сообщение от MonkDead (Сообщение 829428)
- хех, как говорится не знание закона не освобождает от ответственности. Вы понимаете в двух словах нельзя описать смысл теряется.

Я и не пытаюсь от неё освободиться, просто текст соглашения уж больно сложен для меня. Тем более, что и использовать ваше творение мне пока негде. Раз в двух словах не получиться, я спрошу то, что меня пока интересует: он за деньги?

DarkLight 20.06.2009 13:17

Цитата:

он за деньги?
http://infinity3d-engine.com/ru/foru....php?topic=4.0

Я не совсем понимаю эту политику лицензирования, так как приведенные примеры проектов для стандартной лицензии зачастую теряют или дают слишком малую окупаемость при необходимости каждый раз платить 900/800 евро.

MonkDead 20.06.2009 16:13

Цитата:

Я не совсем понимаю эту политику лицензирования, так как приведенные примеры проектов для стандартной лицензии зачастую теряют или дают слишком малую окупаемость при необходимости каждый раз платить 900/800 евро.
Есть индивидуальная лицензия, при покупки которой обговариваются все нюансы. Например можно на срок купить для n-го количества проектов и т.д. по договоренности.
Стандартная лицензия - базовая.

nuran 25.06.2009 17:51

Отлично :)

MonkDead 01.07.2009 23:55

Вышла новая версия движка 1.2. (http://infinity3d-engine.com/ru/blog/)

Изменения:

1. Введена интерактивность, теперь можно отслеживать события по объектам, поверхностям и граням.
- Добавлен класс Mouse3DEvent;
- В класс View добавлены новые свойства: mouseClick, mouseDown, mouseMove, mouseOut, mouseOver, mouseUp, mouseInteractive.
2. Добавлен новый материал VideoMaterial;
3. Появилась возможность в контроллерах (для поворота камеры) заменять нажатие левой кнопки мыши + перемещение мыши на любую кнопку + перемещение мыши;
4. Произведена очередная оптимизация на уровне математики, производительность повысилась еще на 3-4%.

MonkDead 05.08.2009 01:38

Вышла новая версия движка 1.3.(http://infinity3d-engine.com/ru/blog/)


Изменения:

1. Добавлен новый рендер фильтр DynamicBSPRender. Обратите внимание, что рендер фильтры назначаются камерам (в предыдущих версиях сцене)! И делается это так:
Код AS3:

this.camera.renderFilter = new DynamicBSPRender();

2. Удалены классы:
а) RenderFilter - класс содержал константы фильтров рендеринга, но т.к. теперь рендер фильтры назначаются камерам, а не сцене, необходимость в этом классе отпала;
б) BboxName - класс содержал константы ограничивающих примитивов, но т.к. движок стал использовать только два типа ограничивающих примитивов (прямоугольный параллелепипед и эллипс), необходимость в этом классе отпала;
в) LoaderI3D - загрузчик моделей в формате I3D временно удален из интернет версии;
3. Заполнен класс генерирующий ошибки, возникающие при работе с движком, а также подсказки.
Об ошибках framework сообщает в таком виде:
Class:Класс в котором произошла ошибка; Metod: Метод в котором произошла ошибка (или Setor: Сетор в котором произошла ошибка); Error: Описание ошибки;
4. Удален метод setDefaultMaterial из класса Surface, т.к. он дублировал уже имеющийся функционал.
5. О всех остальных незначительных изменениях вы можете узнать из документации.

wolf.diesel 07.08.2009 23:59

Ну как вам сказать....
Очень достойно, с точки зрения FPS и, в принципе, сфер применения.
Мой совет: выпустите, хотя бы, часть двигла в open-source. Или API для комьюнити. У проекта очень большой потенциал, главное - не дать, как сказал Flash33 , "мертвородиться" проекту.

Продолжайте, мегапроект, найдите инвестора и все получится ;)

MonkDead 18.08.2009 15:41

Нововведения в версии 1.4. (http://infinity3d-engine.com/ru/blog/)

В версии 1.4 появится новый объект Sprite3D. В отличии от общепринятого понятия, что спрайты в трехмерном пространстве это точка, я сделал спрайты которые являются полноценными полигональными объектами.

Свойства объекта Sprite3D:

1. ведут себя так же как и любой другой полигональный объект;
2. врезаются в сцену, что обеспечивает абсолютную точность сортировки;
3. в BSP-дереве могут выступать как сплиттеры;
4. имеют ограничивающий примитив;
5. могут участвовать в проверки столкновений;
6. поддерживают все материалы;
7. поддерживают все доступный мышиные события в трехмерном пространстве, реализованные классом Mouse3DEvent;
8. удобное управление, все по аналогии с другими полигональными объектами.

Seroy 26.08.2009 15:42

повеяло Гильдией) молодец.

gladiator7978 26.08.2009 18:36

да, сделано не плохо...

DEAFFF 01.09.2009 13:41

Цитата:

приметив
Помоему вам надо сначала русский выучить ))) а потом ас3. Удачи!

MonkDead 01.09.2009 17:59

for DEAFFF
Цитата:

Помоему вам надо сначала русский выучить ))) а потом ас3. Удачи!
Нашли одну опечатку (слово упоминалось раз десять и только в одном месте опечатка) и рады :) . Вот только сами пишете с ошибками! :)

Цитата:

Помоему
"по-моему" пишется с дефисом, если подразумевается "с моей точки зрения".
"по моему" пишется раздельно, если дальше идет существительное, например "по моему мнению, ..."

DEAFFF 01.09.2009 18:48

не суть, я не со зла, Алексей вы молодец! нет спору, что ваш двиг великолепен! быстр и могуч, всякие там папервижоны и альтернативы нервно курят на заднем дворе... в обоих случаях над двигами работало куча людей + проталкивали это *** в сеть. Вам уже дали совет - найти инвестора и выйти на рынок без тех методов которыми вы щаз пользуетесь, извините даже на альтернативе располагаете ваши ссылки и спорите о том что ваш двиг круче! это просто опускает вас в глазах... вы же умный человек, я знаю как тяжело сделать подобный двиг в одиночку - это море работы. Поступайте пожалуйста умно, вы же вроде как никак экономист!!! Вы сделали продукт конкурирующий с альтернативой, дак чего вам мешает теперь его пиарить по правилам? Удачи, Респект!

kackbip 02.09.2009 07:56

Умному человеко достаточно только упоминания о разных движках. Далее он сам выберет себе тот что больше подходит. Пиар по правилам - это что за термин такой? А впрочем мне не интересно.

MonkDead 17.09.2009 10:56

Вышла новая версия движка 1.4.D

Теперь библиотека движка развивается в двух вариантах:

1. Версия для разработки, получила название “Version for the development“. К номеру версии библиотеки прибавляется “D” например 1.4.D
2. Версия для публикации, получила название “Version for release“. К номеру версии библиотеки прибавляется “R” например 1.4.R

Основные отличия этих двух версий:

* Версия для разработки прошита отладочным функционалом (как на уровне ввода данных, так и на уровне динамических расчетов): вывод подсказок, ошибок, сбор статистики и т.д., что замедляет скорость работы движка.
* Версия для релиза по максимуму очищена от проверок на ошибки, сбора статистики и выполнения различных операций, направленных на проверку правильности данных.

Концепция данного разделения проста:

При разработке проекта используется версия “Version for the development“, отлаживается весь проект, исправляются ошибки и неправильные данные. Затем весь проект публикуется версией “Version for release“, при этом скорость его работы возрастает.

Новые возможности:

1. Добавлен новый объект Sprite3D. Спрайты являются полноценными полигональными объектами, врезаются в геометрию сцены, поддерживают все доступные материалы и т.д.;
2. Добавлен новый объект Sound3D. Данный объект имитирует трехмерный звук, позволяет оживить сцену. Может выступать в роли контейнера для любых полигональных объектов;
3. Добавлен новый материал DisplayObjectMaterial. Материал, заполняющий полигоны текстурой на основе DisplayObject’ов.

Добавления:

1. В класс Object3D добавлено новое свойство visible. Свойство позволяет пропускать объект при рендеринге, но при этом не удаляет его со сцены, что очень важно для быстрой и удобной работы с объектами на сцене;
2. В класс Object3D добавлено новое свойство priority. Свойство отвечает за последовательность добавления объектов в динамическое BSP - дерево, позволяет повысить производительность и уменьшить количество распилов BSP - деревом;
3. В класс Object3D добавлено новое свойство collision. Свойство позволяет исключать объект и его детей из проверки на столкновения;
4. В класс Object3D добавлен новый метод lookAt(). Метод перенесен из класса BaseController для большей функциональности;
5. В класс Object3D добавлен новый метод сalculateObject(). Метод принудительно вызывает перерасчет матрицы объекта, а так же позволяет рассчитать матрицу объекта, не добавляя объект на сцену и не дожидаясь обновления сцены;
6. В класс Object3D добавлен новый метод move(). Метод позволяет изменять координаты объекта сразу по трем осям. Вызов данного метода более быстрый и удобный, чем вызов трех свойств X, Y, Z, В систему сигналов добавляется лишь одно действие, а не три;
7. В класс Object3D добавлен новый метод rotation(). Метод позволяет поворачивать объект сразу по трем осям. Вызов данного метода более быстрый и удобный, чем вызов трех свойств rotationX, rotationY, rotationZ, В систему сигналов добавляется лишь одно действие, а не три;
8. В класс Object3D добавлен новый метод scale(). Метод позволяет масштабировать объект сразу по трем осям. Вызов данного метода более быстрый и удобный, чем вызов трех свойств scaleX, scaleY, scaleZ, В систему сигналов добавляется лишь одно действие, а не три;
9. В класс MeshOptimization добавлен новый метод mergerMeshs(). Метод объединяет (сливает) геометрию полигональных объектов, не связанных иерархией (т.е. не выступающих ни родителями, ни детьми друг другу) и возвращает новый объект;
10. В класс MeshOptimization добавлен новый метод mergerMeshChildren(). Метод объединяет всех детей родителя и добавляет их геометрию в геометрию родителя. Метод не учитывает детей детей родителя, но можно поэтапно проводить слияние;
11. В класс MeshOptimization добавлен новый метод faceVerticesOnPlane(). Метод проверяет находятся ли все вершины грани в одной плоскости с определенной погрешностью;
12. В класс UVCoords добавлен новый метод reset(). Метод обнуляет текстурные координаты;
13. В класс DynamicBSPRender добавлено новое свойство autoPriority. Свойство позволяет отключать автоматическую расстановку приоритетов объектам и назначать приоритеты объектам вручную;
14. В класс StatsDisplay добавлен новый метод appendControlHelpText(). Метод позволяет добавлять HTML - текст в качестве подсказок управления;
15. В класс StatsDisplay добавлены новые свойства: _height и _width. Свойства позволяют получать размеры области вывода статистики для позиционирования других DisplayObject’ов на экране.

Расширения:

1. При проверке на столкновения учитываются все полигональные объекты и их дети, ранее только объекты на основе Mesh;
2. Расширен функционал класса StatsDisplay, помимо RenderTime (время, затраченное на мат. расчеты) выводятся DrawTime (время, затраченное на отрисовку сцены) и PhysicsTime (время, затраченное на физику). Также, выводится полная информация о сцене: количество объектов, камер, вершин, граней, треугольников и т.д.;
3. Расширен функционал материала LoadingMaterial. По аналогии с загрузчиками можно подписаться на события: LoaderEvent.LOADING_COMPLETE, ProgressEvent.PROGRESS, IOErrorEvent.IO_ERROR, SecurityErrorEvent.SECURITY_ERROR. Перенесены все свойства материала BitmapMaterial для более удобного управления материалом.
4. Камера при переходе в перспективный режим автоматически изменяет расстояние до ближней плоскости пирамиды видимости на 0, если оно было меньше 0, что позволяет избежать некоторых визуальных артефактов;
5. Движок проводит автоматический поиск оптимальных объектов в роли сплиттеров при DynamicBSPRender фильтре, что обеспечивает более быструю работу BSP - дерева и уменьшает количество распилов.
6. Ускорена “конвейерная” обработка путем определения актуальности выполнения тех или иных действий.
7. Улучшено качество картинки при ортографической проекции путем расчета текстурных матриц для каждого треугольника отдельно (в версиях 1.1 - 1.3 расчет проводился для многоугольников, хотя в более старых версиях для треугольников).
8. Теперь любой объект на основе Object3D может выступать в роли контейнера.

Изменения:

1. Для большей функциональности метод lookAt () удален из класса BaseController и перенесен в класс Object3D;
2. Расчет активного объекта PVS перенесен из проверки на столкновения в рендеринг, что позволяет без физики (без проверки камеры на столкновения) пользоваться PVS - деревом;
3. Полностью переписан объект SkyBox. Можно применять любой доступный материал к граням SkyBox’a. Объект ведет себя как любой другой полигональный объект, за исключением того, что не участвует в столкновениях, игнорирует пирамиду видимости (но не клиппинг по области ViewPort’a) и всегда рисуется первым;
4. Исправлено название класса Clipping. Ранее назывался Cliping.

Исправления:

1. В методе addMaterialToAllSurface() класса Mesh исправлена ошибка;
2. В методе getUVsByName() класса Mesh исправлена ошибка;
3. В методе removeSurface() класса Mesh исправлена ошибка;
4. Исправлена ошибка в классе DynamicBSPRender. Когда в пирамиду видимости не попадал ни один объект, вызов построения BSP - дерева все равно происходил, что вызывало ошибку;
5. Исправлена ошибка в классе DynamicBSPRender. Когда в пирамиду видимости не попадал ни один объект, не происходило удаление из ViewPort’a старой графической информации;
6. Исправлена ошибка в контроллерах. Если контроллеру не назначали камеру, он пытался управлять объектом со ссылкой на null, что вызывало ошибку;
7. Решена проблема с округление flash playr’a, которая приводила к ошибочному расчету нормалей к граням.

P.S. Особая благодарность Дворцину Александру за всестороннее тестирование движка, выявление ошибок и неточностей.

Bazel 11.08.2011 18:43

завистники какают кирпичами )

Sintesis 11.08.2011 21:23

А к стати, что с движком? Заброшен давно?

DEAFFF 12.08.2011 00:00

ага заброшен - автор не отвечает ) пропал куда то )

DJDrugsounD 12.08.2011 01:22

ещё в 2009 году заброшен

NikolyA 12.08.2011 05:00

и оп мылу автор не отвечает, либо забросил, либо сменил профиль деятельности

DJDrugsounD 12.08.2011 09:03

ему была не посильна конкуренция)

etc 12.08.2011 12:43

Аминь.

DEAFFF 12.08.2011 14:55

мож че случилось с человеком? не думаю что с таким энтузиазмом легко было бы бросить двиг...

etc 12.08.2011 15:10

Вконтактик: http://vkontakte.ru/id1379725
Вроде живой, от 5-го июля запись.

Sintesis 12.08.2011 15:38

Цитата:

Сообщение от DJDrugsounD (Сообщение 1020718)
ему была не посильна конкуренция)

Среди движков конкуренция, думаю, играет малую роль. Каждому движку применение найдётся. Это пока в среде флэш их мало и ещё кто-то говорит о конкуренции, а например для не браузерных игр сколько движков - тысячи, у каждой игровой компании свой движок. Хотя там то-же есть выдающийся Cryengine, которого не догнать, ну и что всё равно выпускаются новые и новые движки...

DJDrugsounD 12.08.2011 15:46

Цитата:

Сообщение от Sintesis (Сообщение 1020881)
Среди движков конкуренция, думаю, играет малую роль.

Если сравнивать все движки, то есть те у которых больше плюсов и меньше минусов. Ну возможно это дело вкуса. Все движки которые я испробовал для меня есть худшие и есть лучший который я выбрал для работы.

Sintesis 12.08.2011 16:31

Цитата:

Сообщение от DJDrugsounD (Сообщение 1020884)
Если сравнивать все движки, то есть те у которых больше плюсов и меньше минусов. Ну возможно это дело вкуса. Все движки которые я испробовал для меня есть худшие и есть лучший который я выбрал для работы.

Да, но конкуренция не создастся от того, что кто-то выбрал бесплатный движок для себя.

DJDrugsounD 12.08.2011 17:46

Sintesis значит по вашему конкуренции вообще нет нигде? я бы если бы разрабатывал движок, то старался бы сделать его более лучше чем другие, это уже и есть конкуренция, и на мой взгляд она есть везде!
п.с. далеко от темы отошли))

Добавлено через 5 минут
уважаемые модеры будут ругаться)

Sintesis 13.08.2011 00:30

Цитата:

Сообщение от DJDrugsounD (Сообщение 1020937)
Sintesis значит по вашему конкуренции вообще нет нигде?

С чего это вдруг? Коммерчески конкурировать движок может, только если используется в успешных коммерческих проэктах и если он имеет лицензию на распространение. Но, часто бывает так, что движок пишется для внутреннего использования и не лицензируется, используется для своих проэктов, вот по этому я написал, что "среди движков конкуренция, думаю, играет малую роль" имел ввиду коммерческую конкуренцию.
Инфинити вполне мог быть отличным внутренним движком, технологически на то время он никому не уступал. Ведь движок часто пишется не ради движка, а ради проэкта на котором он будет использован.


Часовой пояс GMT +4, время: 00:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.