Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Исследование технологий 3D-рендеринга на платформе Adobe Flash






На сегодняшний день существует несколько 3D-движков, использующих в качестве основы технологию Adobe Flash. Дальше представлены самые перспективные из них с кратким описанием каждого.

1) Papervision3D

https://papervision3d.org/

Самый известный Open Source движок. Векторная прорисовка по треугольникам. Позволяет добавлять в сцену встроенные примитивы: Plane, Sphere, Cylinder, Cone, Cube, Paperplane, Arrow. Импортировать модели созданные в 3D-редакторах, вместе с анимацией. Накладывать на объекты в качестве материалов однородные цвета, битмапы, мувиклипы и даже потоковое видео. Использовать динамические источники света. Накладывать встроенные во флеш фильтры (Blur, Glow и т.п.) на 3D объекты. Управлять отдельными вершинами и полигонами объектов. Назначать на 3D объекты и материалы обработчики событий (клик, наведение мышки и т.п.). Недостатком является требовательность к ресурсам компьютера: максимальное количество треугольников в видимой области – 3000. К тому же несмотря на то, что движок несложный, изучение PaperVision может быть затруднено, так как. хорошей документации по нему крайне мало.

2) Away3D

https://www.away3d.com/

Создан на основе проекта Papervision3D, схожий с ним по функционалу, но также даёт широкие возможности для программной генерации 3D моделей, рельефа и normalmaps. Также поддерживает сглаживание 3D-моделей по алгоритмам Гуро и Фонга (типы сглаживаний полигональной сетки, при котором не происходит увеличения фактического числа полигонов в объекте). Помимо этого поддерживает ограниченное 3D-ускорение, которое появилось в 10.1 версии плагина Adobe Flash Player. На данный момент – ведущий движок с открытым исходным кодом. Также векторная прорисовка.

3) Sandy

https://www.flashsandy.org/

Движок, также использующий векторную прорисовку. Простой в освоении (в использовании проще, чем Papervision3D), но в тоже время крайне низкий по своему функционалу. На нем не написано ни одного серьезного проекта. Брать такой движок за основу проекта очень рискованно. Open Source.

4) FFilmation AS3 Flash Isometric Engine https://www.ffilmation.org/

Изометрический движок, что в свою очередь накладывает значительные ограничения на разработку проекта (смотреть на пространство можно только с одной точки, пространство по сути двумерное, трехмерное только расположение слоев по оси z). Разрабатывать проект на изометрическом движке неприемлемо, это противоречит заявленным требованиям проекта. FFilmation – движок с открытым исходным кодом.

5) Infinity 3D Engine

https://www.infinity3d-engine.com/ru/

Движок с динамическим BSP собственной разработки (динамическим двоичным разбиением пространства, необходимым для отсечения полигонов и объектов, которые находятся вне поля зрения). Разрабатывается энтузиастом из Санкт-Петербурга Алексеем Романовым. К сожалению, движок медленно развивается, что сводит на нет дальнейшее развитие проекта, построенного на его основе.

6) Alternativa Platform

https://alternativaplatform.com/ru/

Платформа для создания трёхмерных игр, разрабатываемая группой из Перми. Векторная прорисовка по треугольникам. Основной особенностью платформы является отличная оптимизация, особенно этот фактор имеет значение в проектах с большим количеством треугольников в видимой области. На данный момент последняя версия движка Alternativa Platform поддерживает до 11 000 треугольников в видимой области. Поддерживается частичное аппаратное ускорение Flash 10. Помимо различных типов сортировок полигонов, необходимых для оптимизации, движок поддерживает такие технологии, как LOD (технология изменения количества полигоном в объекте в зависимости от расстояния до него), система мипмаппинга (технология, размывающая текстуру по мере отдаления от нее, позволяет избежать эффекта муара, если в текстуре много повторяющихся элементов). Кроме того существует система событий, реагирующий на взаимодействие с мышью.

7) ZenBullets Flash Isometric 3D Game Engine

https://actionscripter.co.uk

Изометрическая игровая платформа. Похожая на FFilmation. Исходя из описанных выше ограничений, которые предъявляет изометрия, разрабатывать проект на изометрическом движке неприемлемо, это противоречит заявленным требованиям проекта

8) Flash 10 (встроенные возможности)

https://www.adobe.com/devnet/flashplayer.html

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

Скорость работы перечисленных движков зависит от производительности центрального процессора, а также от используемой версии Adobe Flash Player, но в целом скорость пока не высока, так как используется программный просчёт кадров, в отличии от проектов, основанных на DirectX или OpenGL, где применяется аппаратный просчёт. Аппаратное ускорение отсутствовало в ранних версиях вообще, что требовало полной программной эмуляции аппаратного рендеринга. В версии Flash Player 10 частичная поддержка аппаратного ускорения введена, что привело к повышению скорости работы тех движков, которые задействовали данные нововведения. Сейчас компания Adobe сотрудничает с компанией NVIDIA в вопросах поддержки аппаратного ускорения обработки графики и видео. Полную поддержку аппаратного ускорения планируется ввести во второй половине 2011 года с официальным выходом новой, одиннадцатой версии Adobe Flash Player.

Реализация обработки трёхмерной графики средствами интернет-обозревателя стала возможной в результате:

- расширении каналов доступа в Интернет;

- развитии браузерных 3D движков;

- увеличения производительности процессоров.

 

4.2 Выбор реализации. Основные преимущества выбранной реализации перед аналогами

 

Исходя из проведённого исследования, было принято решение реализовать дипломный проект на Flash 3D движке Alternativa Platform, так как он предоставляет наилучшее соотношение критериев производительность/скорость освоения, а также он в наибольшей степени удовлетворяет всем критериям требований к дипломному проекту.

Из основных преимуществ выбора можно выделить следующее:

Обработка до 11 000 треугольников в видимой области. На данный момент обработка 11 000 треугольников в видимой области является наивысшим показателем производительности относительно других Flash 3D-движков (у них этот показатель находится в пределах от 3000-7000 треугольников). Данный показатель делает движок Alternativa Platform самым быстрым Flash 3D-движком в мире.

Частичная поддержка аппаратного ускорения. Задействие функции частичного аппаратного ускорения дает дополнительный прирост производительности порядка 2-3 кадров в секунду при среднем количестве треугольников – 6000. Все это в наибольшей мере удовлетворяет критерию быстродействия. Это особенно актуально, с учетом большой полигональной нагрузки (в среднем 5000-8000 треугольников в видимой области).

Активное развитие 3D движка в сторону повышения производительности и увеличения функционала. Команда разработчиков Alternativa Platform тесно сотрудничает с Adobe результатом чего стал выпуск ранней версии GPU-варианта движка (еще до официального выхода Adobe Flash Player 11). Alternativa Platform 8 (GPU) максимально, на сколько это возможно, совместима с Alternativa Platform 7 (CPU), поэтому с выходом Adobe Flash Player 11 перенос проекта на GPU-версию движка займет крайне незначительное количество времени.

Возможность быстрого портирования любого проекта на GPU-версию движка.

Кооперация с разработчиками 3D-движка по интересующим вопросам.

Разработка проекта «Кафедра Онлайн» ведется при консультировании с разработчиками движка, в частности с ведущим программистом Alternativa Platform – Владимиром Бабушкиным, который проясняет детали оптимизации проекта на всех уровнях, начиная от кода, заканчивая моделированием.

 

Выводы по разделу четыре

В качестве наилучшего варианта для реализации был выбран движок Alternativa3D, как удовлетворяющий основным требованиям ТЗ – скорости работы приложения, простоты загрузки для пользователя и простоты разработки.







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.