| netlib.narod.ru | < Назад | Оглавление | Далее > |
Марево — это замечательный экранный эффект, который добавляет реализма вашим визуализациям. Кроме того, он служит замечательным примером того, что имея базовое представление о причинах возникновения эффекта, для достижения хороших результатов не требуется абсолютно точно воспроизводить эффект. Пришло время проявить собственные творческие возможности и применить то, что вы узнали в этой главе. Как обычно, решения упражнений вы найдете в приложении D.
Вот способ проявить свой творческий потенциал и создать собственный шейдер. Создайте простую сцену, визуализировав карту окружения и преломляющий изображение чайник. Установите сцену таким образом, чтобы карта окружения визуализировалась как фон. Затем визуализируйте чайник и используйте вектор vViewPosition вашей камеры и встроенную функцию refract для вычисления нового направления взгляда на карту окружения.
Вам может показаться, что я оставил вас в неведении относительно способов реализации эффекта. Вы должны самостоятельно заняться исследованиями и экспериментами. Если застрянете, посмотрите решение в приложении D.
Также помните, что коэффициент преломления на границе между стеклом и воздухом равен 1.33.
Результат работы созданного в этой главе эффекта марева на основе имитатора выглядит статично и нереалистично. Его можно значительно улучшить, анимировав карту искажений. В этом упражнении воспользуйтесь встроенными таймерами RenderMonkey для анимации координат текстуры карты искажений, которую вы видели ранее в этой главе. Чтобы результат выглядел еще лучше, выполняйте выборку из карты искажений дважды, из двух разных мест, и комбинируйте результаты. В результате картина искажений будет реже повторяться, чем при использовании единственной выборки. Также помните, что для хорошего результата карта искажений при анимации должна перемещаться вверх, чтобы создавать иллюзию поднимающегося нагретого воздуха.
| netlib.narod.ru | < Назад | Оглавление | Далее > |