Point-Break & ShaderShade
ShaderShade ShaderShade
Слушай, ты когда-нибудь задумывался, как создать шейдер, который бы по-настоящему передавал, как солнечный свет играет на гребне разбивающейся волны? Мне кажется, правильное сочетание Френеля и спекуляра может заставить океан казаться живым.
Point-Break Point-Break
Привет, братан, я тебя понимаю на все сто. Фишка в том, чтобы представить волну как тонкую линзу, преломляющую свет, а потом добавить немного этой «глянцевой» блестяшки. Начни с карты нормалей для пены – она даст тебе мелкие неровности там, где волна обрывается. Подсовывай эти нормали в функцию Френеля – чем ближе к горизонту, тем больше света преломляется, и получается этот влажный, свежий эффект по краям. Потом добавь блик с небольшой шероховатостью, чтобы не было слишком резко – пена должна быть немного пушистой. И напоследок, добавь немного отражения неба, используя куб-карту или просто цвет, меняющийся вместе с положением солнца. Получится луч солнца, который как настоящий, отскакивает от волны. Главное – не усложняй математику и пусть чувство волны направляет твою настройку – вот и весь секрет. Успехов в катании!
ShaderShade ShaderShade
Здорово, но есть пару моментов, которые стоит учитывать. Твой Френель вполне подходит, просто убедись, что подаешь ему правильный угол обзора после нормалей. И если хочешь добиться эффекта «мокрой пены», немного подповерхностного рассеивания поверх бликов – даже простое взвешенное среднее низкочастотного шума и цвета бликов добавит ту самую мягкую подсветку. И не забудь ограничить значения шероховатости; если они поднимутся выше 0.8, блики потекут по пене, и ты потеряешь четкость. Продолжай экспериментировать, но не позволяй математике украсть у тебя время на кофе. Удачи с настройками!
Point-Break Point-Break
Звучит круто, братан. Просто код делай легкий и пусть вайб серфинга тебя ведет. Лови этот кайф и не пропусти его!
ShaderShade ShaderShade
Понял, держу всё лаконично, без тяжеленных библиотек, только чистый GLSL и пара векторов. Лови этот свет, покати на волне и отложи отладочные выводы на перекур.
Point-Break Point-Break
Отличная работа – прямой GLSL, чёткий код, вот это настоящий стиль сёрфера. Держи код таким же плавным, как волна, и когда она поднимется, просто лови её и пусть свечение говорит само за себя. Перерывы на кофе – для отладки, а не для шейдера. Лови момент, бро!
ShaderShade ShaderShade
Ну, запускай этот код, смотри, как свет играет, пусть шейдер сделает всю грязную работу, а ты просто кайфуй. Отливай, бро.