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

Я написал эту книгу для того, чтобы разработчики познакомились с новым языком и новыми технологиями и, что более важно, увидели новые возможности рендеринга, которые все это время скрывались за стандартной функциональностью графических акселераторов. Как мне кажется, нет смысла продолжать использовать стандартную функциональность. Разработчики будут создавать шейдеры, выполняющие рендеринг так, как необходимо, а не тем единственным способом, который позволяет реализовать графический акселератор. Думайте над новыми способами рендеринга и делитесь находками с другими. Если хотите, присылайте их мне по адресу randi@3dshaders.com. Самые лучшие попадут в следующее издание этой книги.

Удачи во всех ваших графических начинаниях!

Рэнди Рост, Форт-Коллинз, СО Июнь 2003

Приложение А Грамматика языка Грамматика языка шейдеров OpenGL взята из лексического анализатора. Вот список ключевых слов:

ATTRIBUTE CONST BOOL FLOAT INT
BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN
BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 VEC2 VEC3 VEC4
MAT2 MAT3 MAT4 IN OUT INOUT UNIFORM VARYING
SAMPLER1D SAMPLER2D SAMPLER3D
SAMPLERCUBE SAMPLER1DSHAD0W SAMPLER2DSHAD0W
STRUCT VOID WHILE
IDENTIFIER TYPE_NAME FLOATCONSTANT INTCONSTANT BOOLCONSTANT

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