상상 너머 그 무언가...

어도비 픽셀벤더 (Pixel Bender)에 대하여... 본문

개발관련(Development)/플래시(Flash)

어도비 픽셀벤더 (Pixel Bender)에 대하여...

Clack 2014. 4. 7. 18:28

픽셀벤더는 무엇인가? 검색을 해보았다.


Pixel Bender 셰이더를 사용한 작업 소개

Adobe Pixel Bender는 이미지 내용을 만들거나 조작하는 데 사용되는 프로그래밍 언어입니다. Pixel Bender를 사용하면 이 문서에서 셰이더라고도 하는 커널을 만들 수 있습니다. 셰이더는 이미지의 각 픽셀에 대해 개별적으로 실행되는 단일 함수를 정의합니다. 함수에 대한 각 호출의 결과는 이미지에서 해당 픽셀 좌표의 출력 색상입니다. 입력 이미지 및 매개 변수 값을 지정하여 작업을 사용자 정의할 수 있습니다. 단일 셰이더 실행에서 입력 및 매개 변수 값은 상수입니다. 변경되는 유일한 요소는 색상으로 함수 호출의 결과를 나타내는 픽셀의 좌표입니다.

가능한 경우 셰이더 함수는 여러 출력 픽셀 좌표에 대해 동시에 호출됩니다. 이 경우 셰이더 성능이 향상되며 고성능 처리 작업을 제공할 수 있습니다.

Flash Player와 Adobe AIR에서는 셰이더를 사용하여 세 가지 유형의 효과를 손쉽게 만들 수 있습니다.

  • 드로잉 채우기

  • 블렌드 모드

  • 필터

셰이더는 독립 실행형 모드에서도 실행할 수 있습니다. 독립 실행형 모드를 사용하면 의도된 사용 방식을 미리 지정하지 않고 셰이더의 결과에 직접 액세스할 수 있습니다. 결과는 이미지 데이터나 이진 또는 숫자 데이터로 액세스할 수 있습니다. 데이터는 이미지 데이터일 필요가 전혀 없습니다. 이러한 방식으로 셰이더에 데이터 집합을 입력으로 제공할 수 있습니다. 셰이더는 데이터를 처리하며, 사용자는 셰이더에서 반환된 결과 데이터에 액세스할 수 있습니다.

참고: Pixel Bender는 Flash Player 10 및 Adobe AIR 1.5부터 지원됩니다.


중요한 개념 및 용어

다음 참조 목록에는 이 장에 사용된 중요한 용어가 포함되어 있습니다.

  • 커널: Pixel Bender의 경우 커널은 셰이더와 동일합니다. Pixel Bender를 사용하면 코드에서 커널을 정의할 수 있습니다. 커널은 이미지의 각 픽셀에 대해 개별적으로 실행되는 단일 함수를 정의합니다.

  • Pixel Bender 바이트코드: Pixel Bender 커널이 컴파일되면 해당 커널은 Pixel Bender 바이트코드로 변형됩니다. 바이트코드는 런타임에 Flash Player 또는 Adobe AIR에서 액세스하고 실행합니다.

  • Pixel Bender 언어: Pixel Bender 커널을 만드는 데 사용되는 프로그래밍 언어입니다.

  • Pixel Bender Toolkit: Pixel Bender 소스 코드에서 Pixel Bender 바이트코드 파일을 만드는 데 사용되는 응용 프로그램입니다. Pixel Bender Toolkit을 사용하면 Pixel Bender 소스 코드를 작성하고 테스트하고 컴파일할 수 있습니다.

  • 셰이더: 이 문서의 경우 셰이더는 Pixel Bender 언어로 작성된 기능 집합입니다. 셰이더의 코드는 시각적 효과를 만들거나 계산을 수행합니다. 어떠한 경우이든 셰이더는 데이터 집합(대개 이미지의 픽셀)을 반환합니다. 셰이더는 각 데이터 포인트에 대해 출력 픽셀의 좌표만 다를 뿐 동일한 작업을 수행합니다.

    셰이더는 ActionScript로 작성되지 않고 Pixel Bender 언어로 작성되며 Pixel Bender 바이트코드로 컴파일됩니다. 셰이더는 컴파일 타임에 SWF 파일에 포함되거나 런타임에 외부 파일로 로드될 수 있습니다. 두 경우 모두 ActionScript에서 Shader 객체를 만들고 해당 객체를 셰이더 바이트코드에 연결하여 셰이더에 액세스할 수 있습니다.

  • 셰이더 입력: 계산에 사용하기 위해 셰이더에 제공되는 복잡한 입력(대개 비트맵 이미지 데이터)입니다. 셰이더에 정의된 각 입력 변수에 대해 단일 값, 즉 단일 이미지 또는 이진 데이터 집합이 셰이더의 전체 실행에 사용됩니다.

  • 셰이더 매개 변수: 계산에 사용하기 위해 셰이더에 제공되는 단일 값 또는 제한된 값 집합입니다. 각 매개 변수 값은 단일 셰이더 실행에 대해 정의되며 전체 셰이더 실행에 동일한 값이 사용됩니다.



픽셀벤더 사이트 : http://www.adobe.com/devnet/pixelbender.html

관련 도움말 : http://help.adobe.com/ko_KR/ActionScript/3.0_ProgrammingAS3/WS3E659D01-10C0-479d-8175-B40950BBC223.html

윈도우용 다운로드 : http://www.adobe.com/go/pixelbender_toolkit_zip/