Эффект металлического блеска в OpenGL ES? - PullRequest
2 голосов
/ 09 февраля 2011

Я работаю над приложением для Android и iPhone. Я вывожу на экран множество небольших (около 32 пикселей) рекламных щитов для системы частиц и хочу придать блеску блеск каждому рекламному щиту, например. когда частицы падают, случайные из них кратковременно загораются и сверкают, когда ловят свет. Есть ли простой способ добиться этого эффекта? Как ограничение, я не могу использовать пиксельные / вершинные шейдеры.

Я думал о том, чтобы придать каждому рекламному щиту металлический эффект освещения (хотя я не уверен, как это сделать) в сочетании с приданием каждому рекламному щиту случайного и постоянно вращающегося нормального с плоским затенением, чтобы Рекламный щит будет случайно загораться. У меня проблемы с тем, чтобы это выглядело красиво.

1 Ответ

0 голосов
/ 09 февраля 2011

Отказ от ответственности: я не знаю OpenGL, и я на самом деле не пробовал ничего, что я напишу ниже.

Вы можете получить другую, «ярко освещенную» текстуру и заменить ее, когда нормальное значение почти на уровнеположение «сияние».

Возьмите кусок металла и поверните его.Как только нормаль приблизится к положению «полного блеска», металл сияет немного ярче, и через него проходит приглушенный рефлекс с яркой вспышкой в ​​середине, тогда он снова становится тусклым.

Если вы можете, нанесите вторую яркую текстуру узкой «рефлекторной» полосы и проведите ее по поверхности рекламных щитов, которые находятся в почти блестящем положении, смещая их соответственно под нормальным углом.Когда нормаль находится в положении блеска (± эпсилон), примените текстуру «полный блеск».

Кроме того, если ваши тарелки не летят в вакууме, из-за атмосферы будет возникать ореол.Добавьте прямоугольник, скажем, на 50% больше, чем пластина прямо за ним, и примените к нему полупрозрачную текстуру ореола, которая становится полностью прозрачной ближе к краям.Вам нужно только в момент блеска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...