iPhone: Создание игр для iOS (iPhone и iPad)
GameDev.ru / Сообщества / iPhone / Форум / AIR и шейдеры

AIR и шейдеры

whatsonПостоялецwww6 апр. 20127:16#0
В своей флешке использую шейдер для генерации анимации концентрических кругов. На компе флешка работает исправно, но когда я запаковываю её и залифаю на устройство, на нём она начинает глючить - не генерирует нифига.
Кто работает с 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;
    }
}
JKotПостоялецwww6 апр. 201211:11#1
Только только буквально вчера впилили поодержку Stage3D для IOs нужно скачать RC нового AIR из Adoby Labs
whatsonПостоялецwww6 апр. 201213:01#2
JKot
А умножение слоя тоже не поддерживает? Сейчас попробовал получить тот же эффект путём создания поверх нужной графики мувиклипа со специально подобранным градиентом и установления для этого мувиклипа режима наложения "умножение". На компе рисуются прекрасные волны, а на айфоне всё выглядит как будто этот градиент накладывается в обычном режиме.
----
У меня AIR 3.2. Адобе там что, успела уже 3.3 выпустить?
-----
И действительно. Сейчас скачаю бету, попробую.
-----
Скомпилировал прогу с новым СДК - эффекту ноль.
JKotПостоялецwww6 апр. 201215:40#3
whatson
В gpu mode нет, не поддерживается. Для начала попробуйте выяснить в каком режиме запускается програ. Во флеш это Stage.wgpumode, про Air знаю только то, что он похож на flash)
whatsonПостоялецwww7 апр. 20129:38#4
JKot
Да, действительно. Прога запускалась в режиме gpu. Поставил direct и вариант без шейдеров заработал. Ура!
JKotПостоялецwww7 апр. 201210:46#5
direct это режим с поддержкой Stage3D в этом режиме должен работать шейдера. На счет режимов наложения я не знаю.
cpu - собственно рендер будет на cpu, будут  доступны все режимы наложения, шейдеры - нет.
gpu - это cpu, только частично ускоренный на gpu. Самые скудные возможности. Нет большинства режимов смешивания и нет поддержки шейдеров.
whatsonПостоялецwww7 апр. 201211:18#6
JKot
Ну на сайте адобе было упомянуто включение аппаратного ускорения через директиву gpu, ну я и использовал его. Как вижу зря.

/ Форум / iPhone: Создание игр / Проекты

Тема в архиве.

2001—2018 © GameDev.ru — Разработка игр