PDA

Просмотр полной версии : Тень градиентом и альфа каналом в Starling extension for lighting


JekelSkaz
23.01.2015, 16:45
Привет. Помогите написать шейдер. Имеется такой пример http://devsbook.com/est.jpg, нужно получить что-то такое http://devsbook.com/est2.jpg нашел пример на сайте http://winxalex.blogspot.com/2012/11/gradient-shadow-filter-starling.html но я не могу его правильно применить

Вот базовый код который дает результат на первом скриншоте:
var program:String =
"sub vt0.xy, va0.xy, vc1.xy \n" + //world xy - light xy = delta xy
"mul vt0.xy, vt0.xy, va0.z \n" + //delta xy * shadow multiplier (0 || 1) = shadow xy

"mul vt0.xy, vt0.xy, vc0.z \n" + //shadow xy * 1000
"add vt1.xy, va0.xy, vt0.xy \n" + //world xy + shadow xy

"mov vt1.z, vc0.xy.x \n" + //vt1.z = 0
"mov vt1.w, vc0.xy.y \n" + //vt1.w = 1
"m44 op, vt1, vc2"; //project to clip space