Actionscript 3: Есть ли способ получить данные в и из локальной программы? - PullRequest
0 голосов
/ 30 марта 2011

Недавно я создавал пиксельный шейдер, чтобы применить затенение к персонажу игрока во Flash-игре, для которой я сейчас пишу код. Однако, как выясняется, Actionscript 3 ... не справляется с этим изящно, а частота кадров довольно велика.

Что я хотел бы сделать, так это написать что-то на C ++, которое затем может использовать буферы OpenGL для хранения пикселей, которые я хочу настроить, настраивать их с аппаратным ускорением, а затем передавать их обратно в файл Flash.

Есть ли способ заставить AS3 передавать растровые данные в плагин локального шейдера .exe, а затем принимать возвращенные данные обратно, или я должен просто отказаться и переписать всю эту чертову штуку в Unity или что-то еще?

Если это не удастся, есть ли какой-нибудь способ заставить GPU выполнять сжатие чисел в AS3? Я знаю, что OpenGL нельзя использовать с AS3, но DirectDraw, возможно?

Я знаю, что все это предприятие а) нелепо излишне и б), вероятно, обречено, но в настоящее время это все, что мешает мне работать над рефлексивным эссе для проекта. (Университетская курсовая работа)

Ответы [ 2 ]

0 голосов
/ 01 апреля 2011

Вы пробовали смотреть на алхимию?

http://labs.adobe.com/technologies/alchemy/

Это способ компиляции кода C ++ в байт-код swf.

0 голосов
/ 30 марта 2011

Вы не можете взаимодействовать с любой локальной программой. Начиная с Flash Player 10, есть некоторая глупая поддержка аппаратного ускорения, но в основном для видео, а не для 3D. Лучший AS3 (Flash Player 10+) может обеспечить встроенную поддержку работы с треугольниками в 3D (метод drawTriangles ()). Например, Flash 3D-движок «Away3D Lite» использует эту функцию.

...