В своей флешке использую шейдер для генерации анимации концентрических кругов. На компе флешка работает исправно, но когда я запаковываю её и залифаю на устройство, на нём она начинает глючить - не генерирует нифига.
Кто работает с air на айфоне, подскажите, может там он не держит шейдеры? Или их надо каким-то особым образом составлять/компилировать?
Вот код шейдера (параметры я отключил на всякий случай):
<languageVersion : 1.0;> kernel NewFilter < namespace : "Your Namespace"; vendor : "Your Vendor"; version : 1; description : "your description"; > { input image4 src; output pixel4 dst; /*parameter pixel3 col; parameter float2 apos; parameter float disp;*/ void evaluatePixel() { const float3 col = float3( 1,0,0); const float2 apos = float2( 0,0); float pos = length( outCoord( )-apos); float ex = sin( pos * .2 /*- disp*/) + 0.4; if( ex<0.1)ex = 0.1; dst.rgb = col*ex; dst.a = 1.0; } }
Только только буквально вчера впилили поодержку Stage3D для IOs нужно скачать RC нового AIR из Adoby Labs
JKot
А умножение слоя тоже не поддерживает? Сейчас попробовал получить тот же эффект путём создания поверх нужной графики мувиклипа со специально подобранным градиентом и установления для этого мувиклипа режима наложения "умножение". На компе рисуются прекрасные волны, а на айфоне всё выглядит как будто этот градиент накладывается в обычном режиме.
----
У меня AIR 3.2. Адобе там что, успела уже 3.3 выпустить?
-----
И действительно. Сейчас скачаю бету, попробую.
-----
Скомпилировал прогу с новым СДК - эффекту ноль.
whatson
В gpu mode нет, не поддерживается. Для начала попробуйте выяснить в каком режиме запускается програ. Во флеш это Stage.wgpumode, про Air знаю только то, что он похож на flash)
JKot
Да, действительно. Прога запускалась в режиме gpu. Поставил direct и вариант без шейдеров заработал. Ура!
direct это режим с поддержкой Stage3D в этом режиме должен работать шейдера. На счет режимов наложения я не знаю.
cpu - собственно рендер будет на cpu, будут доступны все режимы наложения, шейдеры - нет.
gpu - это cpu, только частично ускоренный на gpu. Самые скудные возможности. Нет большинства режимов смешивания и нет поддержки шейдеров.
JKot
Ну на сайте адобе было упомянуто включение аппаратного ускорения через директиву gpu, ну я и использовал его. Как вижу зря.
Тема в архиве.