Агрегатор статей о разработке Flash приложений и Flash игр (Flash Development / Game Development)
Все права принадлежат их авторам
вторник, 17 апреля 2012 г.
Stripper - утилита для сборки страйпов(strips)
Хочу поделиться с тобой одной самопальной утилиткой, полезной любому, кто часто создает спрайты для игр в 3D редакторах.
Дело в том, что обычно 3D редакторы рендерят каждый кадр анимации объекта в отдельное изображение и ручная компоновка этих изображений в одну длинную полосочку-раскадровку - есть процесс мучительный и долгий. Предлагаемая утилита сама переберет все изображения и сформирует страйп (strip).
Читать дальше: Stripper - утилита для сборки страйпов(strips)
суббота, 15 октября 2011 г.
Пишем шейдер на AGAL
Ни для кого уже не секрет, что Flash Player 11 имеет поддержку GPU ускорения графики. Новая версия вводит Molehill API позволяя работать с видеокартой на достаточно низком уровне, что с одной стороны даёт полную волю фантазии, с другой требует более глубокого понимания принципов работы современной 3D графики.
В данной статье речь пойдёт о языке написания шейдеров – AGAL (Adobe Graphics Assembly Language). Предполагается, что читатель знаком с базовыми основами современной realtime 3D графики, а в идеале – имеет опыт работы с OpenGL или Direct3D. Для остальных же проведу небольшой экскурс:
- в каждом кадре всё рендерится заново, подходы с частичной перерисовкой экрана крайне нежелательны
- 2D – частный случай 3D
- видеокарта способна растеризовать треугольники и ничего кроме
- треугольники строятся на вершинах
- каждая вершина содержит в себе атрибуты (координата, нормаль, вес и др.)
- порядок задания вершин в треугольнике определяется индексами
- данные вершин и индексов хранятся в вершинном и индексном буферах соответственно
- шейдер – программа выполняемая видеокартой
- каждая вершина проходит через вершинный шейдер, а каждый пиксель при растеризации через фрагментный (пиксельный)
- видеокарта не умеет работать с целыми числами, но отлично работает с 4D векторами
Синтаксис
В текущей реализации AGAL используется обрезок Shader Model 2.0, т.е. фитчелист железа ограничен 2005 годом. Но стоит помнить, что это ограничение лишь возможностей шейдерной программы, но никак не производительности железки. Возможно, в будущих версиях Flash Player планка будет поднята до SM 3.0, и мы сможем рендерить сразу в несколько текстур и делать текстурную выборку прямо из вершинного шейдера, но учитывая политику Adobe, случится это не раньше выхода следующего поколения мобильных устройств.
Любая программа на AGAL является по сути низкоуровневым языком ассемблера. Сам по себе язык очень простой, но требует изрядной доли внимательности. Код шейдера представлен набором инструкций вида: [...]
Читать дальше: Пишем шейдер на AGALчетверг, 15 сентября 2011 г.
Уроки по Alternativa3D для новичков
На вики опубликованы новые уроки:
- Alternativa3D 8 для чайников. Часть I
- Alternativa3D 8 для чайников. Часть II
- Alternativa3D 8 для чайников. Часть III
Данные уроки разработаны для тех, кто мало знаком с миром Alternativa3D 8. Уже после прочтения первого из них вы сможете сами создавать проекты с использованием нашей библиотеки.
Также размещены 2 урока по подключению библиотеки Alternativa3D (7 и 8 версии) к наиболее известным средам разработки:
Все уроки представлены как на русском, так и на английском языке.
Читать дальше: Уроки по Alternativa3D для новичков:четверг, 17 февраля 2011 г.
Исходники демо-игры. Alternativa3d и физика Jiglib


Всем добрый день! Очень хорошо заметно, что в последнее время все больше и больше флешеров начинают разрабатывать 3д игры, сайты, демонстрации и т.д. и т.п. И приходит все больше и больше писем, с просьбой о помощи в настройке и использовании JigLib с Alternativa3d. Я решил выложить довольно большой кусок моей работы, в которой задействован JigLib и A3D. Это один из самых первых тестов разрабатываемой мной ранее 3д-игры(видео с ней публиковал в свой блог с названием «;)») Так вот, решил выложить сорсы, чтобы в рунете был хоть один толковый пример использования данных движков + большой профит разработчикам, использовать как обучающий материал. Надеюсь вам понравится, и вы найдете много чего интересного для себя [...]


