1. Apodaca A. A., Gritz L. Advanced RenderMan: Creating CGI for Motion Pictures. San Francisco: Morgan Kaufmann Publishers, 1999 (http://www.bmrt.org/arman/ materiaLs.htmL).
2. Texturing and Modeling: A Procedural Approach. 3rd ed./D. S. Ebert, J. Hart, B. Mark, at al. San Francisco: Morgan Kaufmann Publishers, 2002 (http:// www.texturingandmodeLing.com).
12.9. Ссылки
3. Hart J. С. Perlin Noise Pixel Shaders//ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware. 2001. August. P. 87-94 (http://graphics.cs.uiuc.edu/~jch/ papers/pixeLnoise.pdf).
4. Perlin K. An Image Synthesizer//Computer Graphics (Proc. SIGGRAPH-85). 1985. July. P. 287-296.
5. Perlin K. Improving Noise//Computer Graphics (Proc. SIGGRAPH-2002). 2002. July. P. 681-682 (http://mrL.nyu.edu/perlin/paper445.pdf).
6. Perlin К. Личный веб-сайт (http://www.noisemachine.com).
7. Perlin К. Личный веб-сайт (http://mrL.nyu.edu/~perLin).
Анимированные шейдеры
С помощью анимации можно показать все, что только человек может себе представить. Эта возможность делает анимацию очень гибкой, придуманной для понимания чего-либо сразу многими.
Уолт Дисней Как точно заметил Уолт Дисней, анимация предоставляет зрителю множество информации. Вращение объекта позволяет получить представление о его очертаниях и форме. Имитация пребывания внутри здания дает человеку, находящемуся в нем, представление о том, как здание будет выглядеть изнутри. Увидев мимику лица на экране, можно понять, какие эмоции испытывает человек.
При помощи языка шейдеров OpenGL и последних разработок в области графического аппаратного обеспечения можно создавать реалистичные изображения в реальном времени на более дешевых графических ускорителях. Приятной неожиданностью стало обнаружение того, как легко выполняется анимация с помощью программируемых шейдеров. Если разрабатывать шейдеры, которые меняют свое поведение в течение времени, то на графические ускорители можно переложить еще большее количество работы.
В этой главе рассказывается, как написать шейдер, создающий эффект анимации. Обычно эффект анимации контролируется одной или несколькими uniform-переменными, через которые передается время от приложения. Можно передавать номер кадра, количество прошедшего времени или любое другое значение, с помощью которого можно контролировать время. Если изображены несколько объектов, которые должны двигаться по-разному, каждый объект будет нарисован своим шейдером. Если же у объектов одинаковы все характеристики, кроме параметров анимации, исходные коды шейдеров будут различаться только фрагментом, определяющим эффект анимации для конкретного объекта.