Показать сообщение отдельно
Старый 22.02.2015, 08:31   #4
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Ответ: Примитивное освещение

extern vec2 pointPos;

vec4 effect( vec4 color, Image img, vec2 tc, vec2 sc )
{
     
vec2 pos = pointPos/love_ScreenSize.xy;
     
vec2 dp = pos-tc;
     
float aphi = dp.y/dp.x;
     
float dx = dp.x/30;
     
float ret = 0;

     for (
int i = 0; i < 30; ++i)
     {
         
float x = dx*i;
         
vec4 c = Texel(img,pos-vec2(x,x*aphi));
         if(
c.a!=0){
             
ret = 1.0;
             break;
         }

     }
    return 
vec4(0,0,0,1)*ret;
} 

Юзаю тот шейдер, получаю такую картинку, чем меньше интераций - тем больше квадратность.
Алгоритм:
__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием