Участвовать в разработке даже одного промышленного стандарта - большая удача, а мне посчастливилось работать с тремя важными графическими стандартами. Первым был РЕХ в конце 80-х. Затем в начале 90-х - OpenGL и, наконец, в первые годы нового тысячелетия - язык шейдеров OpenGL. Я рад, что работал над этими проектами, обеспечивающими дополнительные возможности графических акселераторов на уровне промышленных стандартов. Написанные в соответствии со стандартом приложения переносимы, а технология, на которой они построены, доступна широкой аудитории.

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

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

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


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