Jump to content

Сцена3D

(Перенаправлено с языка ассемблера Adobe Graphics )

Stage3D ( под кодовым названием Molehill [1] ) — это Adobe Flash Player API-интерфейс для рендеринга интерактивной 3D-графики с ускорением графического процессора в Flash-играх и приложениях. Приложения Flash Player или AIR , написанные на ActionScript 3, могут использовать Stage3D для рендеринга 3D-графики. [2] и такие приложения изначально работают в Windows, Mac OS X, Linux, Apple iOS и Google Android . [3] Stage3D по назначению и дизайну похож на WebGL . [4] [5]

Stage3D был представлен в Adobe Flash Player 11.0 и AIR 3.0, чтобы облегчить графическое ускорение 3D-контента в приложениях Flash. [1] [6] В Flash Player 10 и более ранних версиях приложения 3D Flash должны были полностью отображать 3D-графику на ЦП . Flash Player 10 поддерживал ограниченную форму поддержки ускорения графического процессора для материалов в API под названием Pixel Bender . [1] [7]

графического процессора Шейдеры в Stage3D выражаются на языке ассемблера Adobe Graphics (AGAL). [8] : 57  [9] Объекты Stage3D отличаются от традиционной модели рендеринга SWF тем, что их нельзя добавлять в списки отображения SWF ; вместо этого они должны быть созданы с помощью ActionScript . [1] [8] : 25 

Поскольку Stage3D — это низкоуровневая библиотека, непосредственное использование которой может оказаться утомительным, на ее основе было создано несколько 3D- и 2D-библиотек более высокого уровня, чтобы получить выгоду от более высокой производительности, которую она обеспечивает. Неполный список использующих его библиотек и игровых движков включает: Unreal Engine 3, [10] [11] далеко3D 4, [5] КопперКуб , [12] Вспышка3D , [13] Старлинг , [14] : vii ND2D или Proscenium от Adobe Labs. [15] Аналогичным образом, 3D-приложения WebGL могут быть созданы с помощью Three.js , библиотеки более высокого уровня, аналогичной этой. [5] Away3D и Starling были названы официальными компонентами Adobe Gaming SDK. [16] [17]

В 2011 году был выпущен Flash Player 11, а вместе с ним и первая версия Stage3D, позволяющая выполнять 3D-рендеринг с ускорением графического процессора для Flash-приложений и игр на настольных платформах, таких как Microsoft Windows и Mac OS X. [1]

В марте 2012 года был выпущен Flash Player 11.2, который обеспечил поддержку Stage3D/GPU на платформах Android и iOS. Игры, использующие API Stage3D, будут работать на этих мобильных платформах без изменений. [18]

В июне 2012 года был выпущен Flash Player 11.3, обеспечивающий последовательную потоковую передачу текстурных карт Stage3D, что позволяет повысить производительность и время запуска игр и приложений, использующих Stage3D. [18]

В августе 2012 года был выпущен Flash Player 11.4, который увеличил количество поддерживаемых видеокарт с аппаратным ускорением до 2006 года и разрешил альфа-каналы для сжатых текстур Stage3D. [18]

В марте 2012 года Adobe объявила, что Stage3D станет частью премиальных функций Flash Player (например, Flash Player версии 11.2) и, следовательно, не будет доступен разработчикам совершенно бесплатно, а будет основан на схеме распределения доходов. [19] [20] Различные известные члены сообщества Flash возражали против этого изменения, называя его «налогом на скорость». [19]

В январе 2013 года Adobe классифицировала все премиум-функции как общедоступные и могла свободно использоваться Flash-приложениями, не требуя лицензии или гонорара от разработчиков или издателей. [2]

В сентябре 2012 года был выпущен Flash Player 11.4, позволяющий играм ориентироваться на «ограниченные профили», включающие старые графические чипы, не поддерживающие все функции Stage3D. [21]

В апреле 2013 года был выпущен Flash Player 11.7, который поддерживал 16-битные карты текстур для контента Stage3D, что позволило сократить использование памяти и улучшить управление ею. [18]

В июле 2013 года был выпущен Flash Player 11.8, в котором максимальный размер карты текстур увеличен до 4096 x 4096, а также поддерживается прямоугольные (неквадратные) карты текстур для контента Stage3D. Это позволило повысить детализацию карт текстур и более крупные атласы текстур, что позволило повысить производительность. создать [18]

С 2014 года ускорение графического процессора было удалено в Flash Player 11.8 и более поздних версиях для сценариев Pixel Bender. Pixel Bender — старая технология для написания высокопроизводительных фильтров обработки изображений на базе ЦП. Это помешало ряду менее обеспеченных проектов, включая Scratch Массачусетского технологического института , который не смог найти рабочую силу для быстрого перекодирования своих приложений. [22] [23]

Stage3D состоит из следующих компонентов:

  • Унифицированный API — унифицированный API ActionScript 3 для управления памятью текстур, затенением вершин, затенением пикселей и рендерингом сетки. Прозрачное выполнение с использованием OpenGL Mac OS X и Linux ) и DirectX Microsoft Windows ).
  • Ускоренный рендеринг с помощью графического процессора — встроенная поддержка графических карт NVidia, AMD и Intel. [3] Черный список несовместимых видеокарт.
  • Ускоренный рендеринг ЦП — встроенный резервный программный рендеринг с использованием SwiftShader для систем с отсутствующими/несовместимыми видеокартами.
  • AGAL (язык ассемблера Adobe Graphics) — язык для написания шейдеров (программ, работающих на графическом процессоре), которые можно конвертировать в шейдеры OpenGL GLSL и шейдеры DirectX HLSL с помощью Flash Player.
  • ATF (формат текстур Adobe) — формат текстур , позволяющий конвертировать текстуры в соответствующие форматы текстур для конкретной платформы, такие как DXT в Windows и MacOS, PVRTC в iOS. [14] : 47–48  [24]

Stage3D поддерживается следующими компонентами:

  • XC API — «премиум-функции» для Flash Player, состоящие из высокоскоростных кодов операций манипулирования памятью (известных как «Алхимия» ) и API Stage3D.
  • CrossBridge — набор инструментов кросс-компиляции для компиляции 3D-игр или игровых движков на основе OpenGL для запуска в Flash Player.
  • Adobe Scout — визуальный профилировщик Flash-контента, работающего на настольных компьютерах или мобильных устройствах. Scout обеспечивает углубленное профилирование контента Stage3D с помощью следующих интегрированных функций: [25]
    • Предварительный просмотр Stage3D — просмотр текущего обратного буфера исполняемого содержимого Stage3D. [25]
    • Запись Stage3D — записывайте каждую команду Stage3D, выполняемую Flash-контентом, и воспроизводите/пошагово воспроизводите выполненные команды. [25]
    • Использование памяти графического процессора — использование памяти текстур профиля с разбивкой в ​​реальном времени. [25]
    • Редактор программ Stage3D. Изменяйте записанные команды Stage3D в интерактивном режиме и наблюдайте, как это влияет на рендеринг. Отредактируйте код AGAL для программ вершин и фрагментов, выполняемых каждым вызовом отрисовки. [25]

Язык ассемблера Adobe Graphics (AGAL) — это язык ассемблера для написания шейдеров графического процессора . [26] AGAL был изобретен Adobe для предоставления единого языка шейдеров для всех платформ. [26] Программы AGAL пишутся вручную с использованием низкоуровневых кодов операций и регистров . [26] Программы AGAL компилируются в байт-код, который затем встраивается в видеоролики Flash SWF . [26] Этот байт-код AGAL автоматически компилируется в шейдеры OpenGL GLSL и шейдеры DirectX HLSL с помощью Adobe Flash Player , в зависимости от платформы. [26]

С помощью AGAL разработчики могут писать шейдеры, преобразующие 3D-модели на графическом процессоре ( вертексный шейдер ), а также шейдеры, визуализирующие сложные динамические эффекты освещения на графическом процессоре ( пиксельный шейдер ). AGAL также позволяет осуществлять высококачественный рендеринг текстур с помощью мип-маппинга . [27] AGAL широко используется в движках Flash-игр, таких как Away3D и Flare3D, для создания различных эффектов. AGAL обычно используется для обеспечения динамического освещения , высокого динамического диапазона (HDR), альфа-маскирования , многопроходного рендеринга, отображения смещения и отображения среды . [28] [29] Flare3D расширяет AGAL собственным языком шейдеров под названием FLSL (FLare3D Shader Language), который упрощает написание программ шейдеров. [29] HLAG — еще один пример языка шейдеров высокого уровня, который компилируется в AGAL. [30]

При портировании C++ 3D-видеоигр для воспроизведения в Adobe Flash Player разработчики должны перевести традиционные шейдеры HLSL и GLSL в AGAL. [31] Код видеоигры C++ можно преобразовать в Flash-совместимый код с помощью CrossBridge .

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д и Жозеф Лабрек (2011). Что нового в Flash Player 11 . О'Рейли Медиа, Инк. с. 17. ISBN  978-1-4493-1110-0 .
  2. ^ Jump up to: а б Премиум-функции Adobe для Flash Player , Центр разработки Flash Player, Adobe
  3. ^ Jump up to: а б Неподдерживаемые чипсеты Stage3D, драйверы, Flash Player 11, AIR 3 , Справка Adobe
  4. ^ Мэтт Фишер (2013). HTML5 для Flash-разработчиков . Packt Publishing Ltd. § Stage3D и WebGL, стр. 91. ИСБН  978-1-84969-333-2 .
  5. ^ Jump up to: а б с «Производительность Stage3D и WebGL — герметичный интерактивный режим» . Airtightinteractive.com. 28 октября 2011 г. Проверено 4 августа 2014 г.
  6. ^ Жозеф Лабрек (2011). Что нового в Adobe AIR 3 . O'Reilly Media, Inc., стр. 17–26. ISBN  978-1-4493-1108-7 .
  7. ^ Реми Арно (2011). «3D в веб-браузере». В Эрике Лендьеле (ред.). Игровой движок Gems 2 . ЦРК Пресс. стр. 207–212. ISBN  978-1-56881-437-7 .
  8. ^ Jump up to: а б Кристер Кайтила (2011). Adobe Flash 11 Stage3D (Molehill) Руководство для начинающих по программированию игр . Packt Publishing Ltd. ISBN  978-1-84969-169-7 .
  9. ^ «Что такое AGAL | Adobe Developer Connection» . Adobe.com. 10 октября 2011 г. Проверено 4 августа 2014 г.
  10. ^ Вагнер Джеймс Ау (2012). Секреты игрового дизайна . Джон Уайли и сыновья. п. 130. ИСБН  978-1-118-46391-8 .
  11. ^ «Adobe Flash 11 использует Unreal Engine 3 для улучшения браузерных игр | The Verge» . theverge.com. 7 октября 2011 года . Проверено 4 августа 2014 г.
  12. ^ «Обзор инструментов: CopperCube 4.0» . МКВ . evelop-online.net. 28 мая 2014 г. Проверено 22 сентября 2014 г.
  13. ^ Кейт Гладстин (2013). Разработка Flash-игр в социальном, мобильном и 3D-мире . Cengage Обучение. стр. 383–421. ISBN  978-1-4354-6021-8 .
  14. ^ Jump up to: а б Тибо Имбер (2012). Представляем Старлинг . O'Reilly Media, Inc. ISBN  978-1-4493-2089-8 .
  15. ^ Рекс ван дер Спей (2012). Основы игрового дизайна с использованием ActionScript 3.0 . Апресс. п. 641. ИСБН  978-1-4302-3993-2 .
  16. ^ Тибо Имбер (4 декабря 2012 г.) Знакомство с инструментами разработчика игр (Gaming SDK, Adobe Scout, FlasCC)
  17. ^ «Adobe Gaming SDK» . Creative.adobe.com . Проверено 4 августа 2014 г.
  18. ^ Jump up to: а б с д и Дорожная карта Adobe Flash , Adobe
  19. ^ Jump up to: а б А затем появились премиум-функции. Архивировано 5 февраля 2015 г. на Wayback Machine , блог ASV Guy.
  20. ^ Обновление: Премиум-функции для Flash Player , Adobe AIR и блог FP.
  21. ^ Имбер, Тибо. «Представляем бета-версию Flash Player 11.4/AIR 3.4!» . Байтмассив.
  22. ^ «Стейдж3Д» . Scratch.mit.edu . Проверено 5 августа 2014 г.
  23. ^ Adobe Flash Player 11.8 — Ошибка 3591185: производительность шейдера Pixel Bender резко снизилась в FP11.8. Закрыто как «NeverFix». Архивировано 22 апреля 2014 г. в Wayback Machine.
  24. ^ «Сжатые текстуры Stage3D — знакомство с ATF SDK — ByteArray.org» . bytearray.org . Проверено 4 августа 2014 г.
  25. ^ Jump up to: а б с д и Начало работы с Adobe Scout , Adobe Developer Connection
  26. ^ Jump up to: а б с д и Что такое AGAL , ​​Adobe Developer Connection
  27. ^ Мипмэппинг для более плавных текстур в Stage3D , Adobe Developer Connection
  28. ^ Сессия: Вспышка по максимуму! Высокопроизводительная 3D-графика в Silent Hunter Online , GDC Europe 2013
  29. ^ Jump up to: а б FLSL , Flare3D Wiki
  30. ^ HLAG в настоящее время находится в стадии альфа-версии , веб-сайт инструментов HLAG.
  31. ^ Crytek, Silent Hunter Online рассказывает о поздних дополнениях к GDC Europe 2013 , Gamasutra , «Механизм консольного рендеринга C++ в Adobe Flash с использованием Actionscript/Stage3D и использования AGAL для графических эффектов, таких как рендеринг океана»
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 67c3c58963a74a5f5dfa4c66b810c529__1713209100
URL1:https://arc.ask3.ru/arc/aa/67/29/67c3c58963a74a5f5dfa4c66b810c529.html
Заголовок, (Title) документа по адресу, URL1:
Stage3D - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)