2013-08-13 4 views
0

AIR + AS3을 사용하여 Android 앱을 쓰고 있습니다. 픽셀 벤더 파일은 GPU 모드에서 not supported이므로이 크로마 키 필터를 순수 AS3으로 변환하려고합니다. 모든 제안, 도구 또는 도움을 주실 수 있습니다 :픽셀 벤더를 AS3으로 변환

<languageVersion : 1.0;> 



kernel DifferenceKey 

< namespace : "com.quasimondo"; 

    vendor : "Quasimondo"; 

    version : 1; 

    description : "A simple difference key for chroma keying"; 

> 

{ 

    input image4 src; 

    output pixel4 dst; 



    parameter float3 keyColor; 



    parameter float tolerance 

    < 

     minValue: 0.0; 

     maxValue: 3.0; 

     defaultValue: 0.02; 

    >; 



    parameter float ramp 

    < 

     minValue: 0.0; 

     maxValue: 1.0; 

     defaultValue: 0.005; 

    >; 



    parameter float gamma 

    < 

     minValue: 0.0; 

     maxValue: 10.0; 

     defaultValue: 1.00; 

    >; 



    void 

    evaluatePixel() 

    { 

     dst = sampleNearest(src,outCoord()); 

     float diff = length(dst.rgb - keyColor); 

     if (diff < tolerance) 

     { 

      dst.a = 0.0; 

     } else if (diff < tolerance + ramp) 

     { 

      dst.a = pow((diff - tolerance)/ramp, gamma); 

     } 



    } 

} 

답변

1

나는 그런 식으로 작동하지 않을까 두렵습니다. AS3의 모든 픽셀을 반복하면 (보통 픽셀 벤더가 원래 만들어 졌기 때문에) 느리게 느껴질 것입니다. (데스크톱과 비교했을 때) CPU가 까다로운 모바일에서도 그렇습니다.

무거운 짐을 싣기 위해 그래픽 카드를 사용하는 Stage3D와 모바일을 기반으로 한 다양한 프레임 워크를 살펴 보시기 바랍니다. 2D 그래픽의 경우 Starling, Starling을 기반으로하는 UI의 경우 Feathers, 전체 3D 애니메이션의 경우 Away3D. 그게 바로 지금 모바일에서, 특히 모바일에서의 추진력입니다. Stage3D는 원하는 것을 쉽게 얻을 수 있도록 도와주는 다양한 블렌드 모드와 필터를 지원합니다. 불행히도 오래된 학교 디스플레이 목록 앱을 Starling로 변환하는 것은 쉽지 않지만 이럴 가치가 있습니다. 아마 AGAL 같은 쉐이더를 사용해야

Away3D

+0

Feathers UI

Starling

. AGAL 셰이더가 모바일에서 작동하는지는 알 수 없습니다. (예 가능성 있음) – Vesper

+0

예, 작동합니다. Starling 필터는 AGAL 프로그램이며 모바일에서도 놀라 울 일을합니다. – jpop

+0

감사합니다. –