Шейдер отражений
Была задача написать шейдер отражений, который мешает диффуз + лайтмапу + отражения по карте глянца-матовости. Вот что получилось
Вкратце: сцена с "окружением", камера 360 генерит кубмапу, которая применяется в качестве отражений. На объекте дифуз + карта света + спекуляр по вертекс-колору (в сколах) + карта глянца ( в зависимости от неё отражения блюрятся). Ну и немношко ползунков для регулировки пятна спекуляра, силы лайтмапы, максимальная степень размытия.
Дальше будет многабукф из кода. А то мало ли фотошоп...
по-быстрому: берем нормали, берем вектор взгляда, берем вектор света, всё это фигачим с формулами, получаем пятно спекуляра. Если оставить так, то будут рубленные края (по рёбрам), поэтому лерпаем. Минус там стоит, потому что направление в другую сторону. В фрагментном берем кубмапу и через лод (мипмапы) применяем соответсвующий номерной лод к пикселю, а смешение регулируем по карте. Ну и финальный колор - это лерп между цветом и отражением, которое по карте смешивается, помноженное на карту теней, плюс цвет спекуляра (плюс для выжигания в белый).
Ну и зачем это всё:
Надеюсь на помощь лиги. Решил устроить самочеленж. Все желающие могут писать в комментах какое-то задание, связанное с игростроем, а я постараюсь его выполнить. Себе для скиллапа, публике на потеху. (Кроме, пожалуй, музыки... музыку я не умею)


давайка нам куб с сурфейсом типа зелёной травы и тенями, пусть будет хорошая глубина поля, освещение 45deg, отражения по усмотрению но их в принципе там быть не должно, важно отображение теней в траве на самом кубе...