Действительно, очень интересно и замечательно быть одним из первых, кто реализовал классические алгоритмы рендеринга на высокоуровневом языке для недорогого высокопроизводительного графического оборудования.

Когда наша группа впервые запустила шейдер кирпичной стенки на графическом оборудовании 3Dlabs Wildcat VP, это было потрясающе. Что-то подобное я чувствовал, когда мой или еще чей-либо шейдер первый раз успешно запускался. Мне кажется, что это похоже на чувства, испытываемые первыми разработчиками графических алгоритмов 20-25 лет назад. И то же самое испытывают разработчики шейдеров при опробовании новых возможностей.

Благодаря новой революции в архитектуре графического аппаратного обеспечения многие разработчики могут писать шейдеры, используя алгоритмы, придуманные еще 20 лет назад. Создавая шейдер бугристой поверхности, мы руководствовались алгоритмом Блайна (1978 г.), а шейдер систем частиц выполнен на основании алгоритма Ривза (1983 г.). Я порадовался, увидев нарисованные вручную диаграммы в записях Альви Рея Смита от 1983 г. Рендеринг изображений, сейчас занимающий миллисекунды, в то время продолжался часы. Код, ранее разрабатываемый месяцами, сегодня можно легко написать за несколько минут на специально разработанном для подобных задач высокоуровневом языке. Становится не по себе, когда подумаешь, как усердно работал над созданием своих знаменитых изображений Мандельброт в конце 70-х гг. и как легко это сделать сейчас на языке шейдеров OpenGL.

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

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

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


⇐ вернуться назад | | далее ⇒