Новости про 3D и Flash

Подробности о Molehill, API трёхмерной графики для Adobe Flash

Интернет-платформа Adobe получит средства разработки и аппаратное ускорение 3D.

Adobe опубликовала подробности о реализации трёхмерной графики в 3D-движке Molehill, который войдёт в следующую версию платформы Flash. О планах по официальной поддержке 3D в Flash было объявлено на мероприятии Max 2010 в прошлом году, теперь компания раскрывает детали технологии.

Molehill будет представлять собой низкоуровневый API, ориентированный на отрисовку примитивов, наложение текстур и взаимодействие с графической подсистемой. Для построения сцены используются только вершинные и пиксельные шейдеры, описываемые с помощью специального языка AGAL (Adobe Graphics Assembly Language) или транслируемого в AGAL языка более высокого уровня. В Adobe планируют, что Molehill будет основной для более высокоуровневых инструментов и сред 3D-моделирования, но разработчики при желании смогут обойтись и без них, для чего приводится пример программирования простой сцены.

Взаимодействие с оборудованием будет проходить полностью прозрачно для разработчиков — в зависимости от платформы, Adobe Flash будет преобразовывать вызовы трёхмерных функций в Direc3D, OpenGL или OpenGL ES, а при отсутствии аппаратного ускорения использовать недавно лицензированную технологию программного рендеринга SwiftShader. Поддержка аппаратного ускорения 3D в Flash позволит, по оценкам специалистов Adobe, вдвое ускорить отрисовку трёхмерных объектов на клиенте в сравнении с текущими средствами Flash.

Следует отметить, что возможность работы с трёхмерной графикой с поддержкой 3D-ускорения на платформе Flash имелась и ранее, с помощью сторонних расширений Action Script, таких как Alternativa3D и Away3D. Molehill снимет с их разработчиков задачи по работе с оборудованием, позволив сконцентрироваться на инструментах создания контента и дополнительных возможностях и эффектах. Публичное бета-тестирование намечено на первую половину этого года.

Программный 3D-эмулятор SwiftShader всё еще востребован

Его технология лицензирована для Adobe Flash.

Хотя аппаратные графические ускорители прописались уже практически во всех платформах, от смартфонов до вычислительных кластеров, тема программного 3D-рендеринга не спешит умирать. Даже Microsoft включила в состав DirectX эмулятор Direct3D 10 WARP. Компания Adobe же лицензировала для своих платформ Flash и AIR технологию одного из самых успешных эмуляторов в лице SwiftShader от Transgaming. SwiftShader почти полностью эмулирует Direct3D 9 SM 3.0 устройство, используя SSE-инструкции и многопоточность, а также поддерживает эмуляцию OpenGL ES 2.0. Производительность эмуляции на современных центральных процессорах позволяет, по утверждению разработчика, выполнять старые версии бенчмарка 3D Mark в реальном времени:

К примеру, для системы с процессором Intel Core i7 3,2 ГГц приводится результат 3D Mark 06 в 620 баллов. Такой результат находится на уровне показателей Intel IGP GMA 3000/3100 в данном тесте. Ранее Transgaming уже обеспечивала «запасной путь» в поддержке WebGL и O3D для Windows платформы.

Технология SwiftShader доступна для Linux, Windows и MacOS, 32- и 64-bit, так что разработчики движков 3D-графики с доставкой через Flash, таких как Alternativa 3D, смогут быть спокойными за работу приложений на их базе в конфигурациях со старыми графическими решениями или ограниченными драйверами. А вот для мобильных платформ технология вряд ли пригодится — все современные платформы, будь то Apple A4, NVIDIA Tegra или Ti OMAP, уже содержат графические ускорители, а их центральные процессоры еще не обладают достаточной для софтрендеринга производительностью, не говоря о расходе энергии на такие операции.