color = vec3 (texture2D(WobbleTex. perturb + gl_TexCoord[0].st)):
gl_FragColor = vec4 (color * Lightlntensity. 1.0):

Анимированные шейдеры

13.8. Итоги В прежних версиях OpenGL эффекты анимации должны были вычисляться только приложением и занимать ресурсы центрального процессора. С введением программируемое™ эту работу можно переложить на графический ускоритель и выполнять любые вычисления в шейдере. От текущего времени могут зависеть координаты, форма, текстурные координаты, освещение объекта и многие другие параметры.

При разработке шейдера для движущегося объекта следует часть эффекта анимации вычислять в шейдере. Это разгружает главный процессор и упрощает код приложения. В этой главе были описаны некоторые простые способы анимации объектов с помощью шейдеров. Интерполяция ключевых кадров довольно проста. Частицы также можно двигать, изменяя их координаты, цвет, скорость и любые другие параметры. Объекты и текстуры могут вибрировать, двигаться, расти или меняться по сложным математическим формулам.

Анимация - мощный инструмент, способный донести до зрителя любую информацию, а язык шейдеров OpenGL предоставляет новый эффективный способ анимации объектов.

13.9. Ссылки Для читателей, особо интересующихся анимационными эффектами, будет полезна книга [7]. Авторы книги обнаруживают глубокое понимание принципов работы с анимацией, происходящей на студии Диснея, в ней много цветных иллюстраций. Часть материалов этой книги была опубликована в докладе [3].

В книге [4] описано множество алгоритмов для компьютерной анимации. Книга [1] также содержит несколько разделов об анимации.

Системы частиц впервые были представлены Биллом Ривзом в докладе [5]. Джефф Ландер написал хорошее руководство по системам частиц [2]. Он также выложил несколько примеров исходного кода - демонстрационные программы создания систем частиц на языке шейдеров OpenGL.

1. DeLoura M. Game Programming Gems. Hingham, MS: Charles River Media, 2000.
2. Lander J. The Ocean Spray in Your Face//Game Developer Magazine. 1998. Vol. 5, № 7. P. 13-19 (http://www.darwin3d.com/gdml998.htm).

⇐ Предыдущая| |Следующая ⇒