Pixel Bender против Stage3D, Stage Video и Starling

Совместима ли Pixel Bender (2D) с Stage3D?

А именно:

Работает ли Pixel Bender поверх Stage Video (видео с ускорением на GPU)?

Работает ли Pixel Bender поверх области просмотра Starling?

Спасибо


person daniel.sedlacek    schedule 24.05.2012    source источник


Ответы (2)


Боюсь, что ответ отрицательный.

Для Stage3D не существует языка затенения высокого уровня. Если вы хотите писать шейдеры для Stage3D, вам придется использовать невероятно уродливый AGAL. Я даже не шучу, ассемблерный код для графического программирования. Да ну, конечно.

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

Тем не менее, были некоторые попытки создать своего рода Pixel Bender 3D, как вы можете увидеть здесь. Но разработка была остановлена ​​с 09.2011, и последняя версия - это то, что вам нужно скомпилировать самостоятельно, в ней нет пользовательского интерфейса и т. Д. Так что, опять же, практически бесполезно. Понятия не имею, о чем Adobe думала / думала;)

Я не уверен насчет Starling, но сомневаюсь, что вы могли бы использовать шейдеры PB2 со Starling, поскольку это означало бы, что у Starling есть собственный парсер для (старого) кода PB2. Но никаких гарантий здесь нет.

person TheSHEEEP    schedule 24.05.2012
comment
Спасибо, теперь я понимаю, каким должен был быть Pixel Bender 3d. - person daniel.sedlacek; 24.05.2012

Неясен вопрос, можно ли использовать шейдеры пиксельного бендера в качестве шейдеров для вещей Stage3D. Нет. Что касается того, можно ли использовать программу Pixel Bender последовательно с Stage3D, да, хотя это будет дорого стоить.

У вас могут быть текстуры, сгенерированные с помощью средства преобразования пикселей, а затем загруженные в графический процессор, вы можете преобразовать содержимое Stage3D в данные растрового изображения, а затем обработать его с помощью средства преобразования пикселей и т. Д.

Что касается AGAL, ​​он невероятно прост в использовании, я не понимаю, в чем проблема, даже с довольно сложными шейдерами, такими как самозатенение, отображение зеркального рельефа параллакса - не то препятствие, которое нужно преодолеть. Не то чтобы вы собирались писать саму игру на AGAL :)

person sHTiF    schedule 25.05.2012
comment
AGAL невероятно прост в использовании. Да, верно;) Тогда напишите этот шейдер самозатенения в AGAL и в CG, затем сравните оба. Если вы все еще думаете, что AGAL невероятно прост, это прекрасно. Но будьте уверены, что почти все не согласятся. Я не говорю, что на AGAL нельзя писать шейдеры. Просто у всех, кто не умеет писать код на ассемблере, требуется гораздо больше времени. А какому программисту Flash удобна такая редкость? И даже более того, кто хочет чувствовать себя комфортно, когда есть альтернативы, такие как Unity и т. Д.? - person TheSHEEEP; 30.05.2012