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

2.3. Программируемые процессоры OpenGL

Если какое-либо приложение устраивает традиционная модель рендеринга, ему никогда не понадобятся шейдеры.

Цель языка тендеров OpenGL и соответствующего OpenGL API - дать приложениям возможность определять, как будет происходить обработка графики па некоторых этапах с помощью высокоуровневого языка программирования, сконструированного специально для этого. Этапы, о которых идет речь, сделаны программируемыми, чтобы дать приложениям полную свободу в определении способа обработки изображения. Это позволяет приложениям использовать графический ускоритель для достижения большого количества эффектов визуализации.

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

□ увеличенная реалистичность отображения материалов - металла, камня, дерева, краски и т. д.;

□ увеличенная реалистичность эффектов освещения - освещенных областей, мягких теней и т. д.;

□ изображение природных явлений - огня, дыма, воды, облаков и т. д.;

□ создание не фотографически точных изображений - имитация живописи, рисунка пером, воспроизведение техники иллюстрации и т. д.;

□ использование текстур для хранения нормалей, блеска, полиномных коэффициентов и т. д. - новые возможности использования текстурной памяти;

□ меньшее количество способов доступа к текстурам - текстуры могут быть созданы с помощью процедур, а не посредством доступа к текстурным картам, хранящимся в текстурной памяти;


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