Для каждого пикселя ищем угол от центра до него(до центра потому что источник света в центре), и зная угол, через синусы и косинусы
|
Можно узнать синусы и косинусы без нахождения угла.
пусть вектор от центра до пикселя x,y, тогда синус - x/sqrt(x*x+y*y), косинус y/sqrt(x*x+y*y) или наоборот
А можно ещё лучше. Не искать синус и косинус. взять вектор (x,y), умножить его на 1.005 например и получить координаты чуть более дальнего пикселя (надо ещё прибавить половину ширины и высоты экрана). Правда, по увеличению расстояния от центра экрана тени тоже будут удлиняться