innuendo
> зачем пиксельное для 2D ?
Normal mapping, specular, отражение и т.п. Может и не характерно для 2D, но очень нужно )
Если 2D и количество DIP'ов небольшое, то хай с ним, пусть считает для всех 8 источников. Пиксельный тяжелый, но филрейт - один раз весь экран залить. Если всё-таки надо только 3и источника света на вершину, тогда то же всё просто. Имеем же 2D, взяли всё попилили на аккуратные, ровные спрайтики. Для каждого спрайтика для каждой вершины просчитали 3 ближних источника, выбрали для всего спрайта лучшие и отправили на отрисовку. Этот способ будет косячить, но можно подтянуть. В предложенном варианте проблема интерполяции не позволит получить правильное освещение, если у вершины поменялся один из источников света. Да и такой жесткий бранчинг в вершинном шейдере...
Тема в архиве.