0
나는 찌르레기 스프라이트의 알파 (마스크의 종류) 반전 것이다 찌르레기를위한 셰이더를 만들려고

:찌르레기 필터 : 반전 알파

var fragmentProgramCode:String = 
// Get texture 
"tex ft1, v0, fs0 <2d,linear,nomip>" + "\n" + 
// make 1 - pixel alpha 
"sub ft1.w, fc0, ft1.w" + "\n" + 
// Send result 
"mov oc, ft1" 

이 코드는 FC0 = 1로 작동을하지만 난하지 않습니다 사실 fc0으로 게임을하고 .5를 넣을 때 차이가 없기 때문에 이유를 이해합니다. 내가 어디서 잘못한거야? 제대로 1 픽셀 알파를하는 방법?

+0

이 셰이더가'v0'의 모든 입력을받을 수 있나요 : 현재 최종 필터를 찾을 수

? 설명서에는 v0가 먼저 UV로 채워 져야한다고 나와 있습니다. – Vesper

+0

생각해 보면, FragmentShader는 starling automaticaly 세트에서 : vertex 상수 0-3 : mvpMatrix (3D), 꼭지점 속성 0 : 꼭지점 위치 (FLOAT_2), 꼭지점 속성 1 : 텍스처 좌표 (FLOAT_2) 및 텍스처 0 : 텍스처 입력 –

답변

0

오른쪽 코드였다 알파 양은 최초의 엔트리를 통해 쉐이더 단편 패스 때문에 "sub ft1.w, fc0.x, ft1.w" + "\n" +

I는 (FC0 4 개 요소, x 및 y의 Z 및 W가) fc0.x 사용해야한다. https://gist.github.com/simsoft/5169715

Alpha inverter filter