В лабораторную работу необходимо добавить карту высот для выводимой сцены. В шейдерах выполнить растёт освещения в каждом пикселе, имитируя микрорельеф с помощью карты высоты.
Степень освещенности точки зависит от угла падения лучей света. Чем меньше угол между нормалью и лучом света, тем больше освещенность точки поверхности. То есть, если взять ровную поверхность, то нормали в каждой ее точке будут одинаковыми и освещенность также будет одинаковой. А если поверхность неровная (собственно, практически все поверхности в реальности), то нормали в каждой точке будут разными. И освещенность разная, в одной точке она будет больше, в другой — меньше. Отсюда и принцип бампмаппинга — для моделирования неровностей для разных точек полигона задаются нормали к поверхности, которые учитываются при вычислении попиксельного освещения. В результате получается более натуральное изображение поверхности, бампмаппинг дает поверхности большую детализацию, такую, как неровности на кирпиче, поры на коже и т.п., без увеличения геометрической сложности модели, так как расчеты ведутся на пиксельном уровне. Причем, при изменении положения источника света освещение этих неровностей правильно изменяется.
2. Bump mapping
Bump Mapping — метод достижения видимости рельефа на поверхности при помощи текстурирования. Bump — рельеф, Mapping — наложение текстуры на поверхность.
Bump — это рельеф на поверхности, это неровности, шероховатости, выпуклые детали и вмятины.
Bump mapping — это метод, при помощи которого можно достичь видимость bump-а на поверхности при помощи задания очертаний Bump-а в текстуре или текстурах. Существует несколько видов Bump mapping-а:
• EMBM (Environment map bump mapping). Рельефность, имитируемая искажением отражения или преломления. Этим способом достигается имитация волн на водной поверхности, видимость рельефа на стеклянной и отражающей поверхности.
• Diffuse bump mapping. Рельефность, имитируемая освещением. Детали на поверхности показываются освещением, затенением в местах неровностей. Это достигается диффузным bump mapping-ом, например, имитация волновой поверхности на песке, и отражённым источником света (спекулярным bump mapping-ом), например, на железных блестящих предметах.
• Displacement bump mapping. Рельефность, созданная дополнительно генерируемой геометрией.
• . Рельефность, имитируемая параллаксом, то есть смещением разно удалённых частей поверхности при движении наблюдателя. Достигается смещением текстурных координат для каждого пикселя, при отрисовке поверхности.
Эти методы могут совмещаться и переплетаться с другими методами наложения текстур.
Читать дальше