netlib.narod.ru | < Назад | Оглавление | Далее > |
Летом 2003 года ко мне обратился Андре ЛаМот с предложением написать книгу посвященную шейдерам. Мой опыт работы с PC и Xbox, а также написания игр и архитектур шейдеров делал меня первоочередным кандидатом на эту работу. Так как я всегда хотел написать техническую книгу, то не смог противиться предложению и с головой окунулся в это приключение.
Первоочередной задачей было разработать подход, который бы я использовал при написании книги. К этому времени уже было доступно несколько книг, посвященных шейдерам, и я чувствовал потребность внести новизну и исследовать тему в такой форме, какой еще не было. Большинство книг вызывали мое недовольство тем, что в них слишком много места уделялось описанию работы с API визуализации, такими как DirectX, и слишком мало времени отводилось созданию шейдеров. Так появилась идея использовать ATI RenderMonkey. Это новое инструментальное средство предлагает богатый набор возможностей и позволяет быстро, легко и интуитивно понятно разрабатывать шейдеры.
Я решил рассказать все, что знаю о шейдерах, и при этом использовать преимущества RenderMonkey, чтобы сделать процесс обучения проще. Большую часть времени, проведенного с этой книгой, вы потратите на изучение и разработку шейдеров. Я не сосредотачиваюсь только на основах; вам будут представлены несколько техник — от простейших до профессиональных — в прямолинейной манере, нацеленной на быстрое усваивание и применение полученных из книги знаний.
Книга посвящена разработке шейдеров; следовательно она предназначена для всех, кому интересна эта тема. Поскольку рассматриваемые в книге темы и техники весьма разнообразны, интересное для себя найдет любой читатель — от новичка до профессионального разработчика шейдеров.
Используемый в этой книге подход — применение RenderMonkey — позволяет дистанцировать содержание от API визуализации, таких как DirectX или OpenGL. Благодаря этому читатель может сосредоточиться непосредственно на разработке шейдеров, а не на разработке каркаса приложения. Использованный в книге подход имеет дополнительное преимущество, делая разработку шейдеров доступной не только программистам, но и технически подкованным художникам.
И, наконец, благодаря используемому подходу и наличию в конце каждой главы упражнений, книга также может быть ценным учебным пособием для тех специальностей, где графика в реальном времени занимает важное место в учебном плане.
Тема книги — шейдеры, и только на них я и сосредоточусь. Я объясню множество техник, охватывающих широкий диапазон от фильтрации изображений до сложных алгоритмов освещения. Приведенный ниже список подытоживает рассматриваемые в книге темы:
Знакомство с базовыми темами, относящимся к шейдерам, включая описание шейдеров, их историю и обширную документацию об использовании RenderMonkey и разработке шейдеров с использованием языка HLSL.
Обширный набор экранных техник, которые могут использоваться для улучшения существующих сцен. Книга рассматривает различные методы, начиная от простых цветовых фильтров до достаточно сложных, таких как глубина резкости, марево нагретого воздуха и визуализация в широком динамическом диапазоне.
Техники освещения — от простого вершинного и попиксельного освещения до профессиональных приемов, таких как карты рельефа, сферические гармоники и полиномиальные карты текстур.
Несколько техник, связанных с визуализацией различных материалов — от функций двунаправленного преломления до процедурных материалов.
Все шейдеры разработаны с использованием платформы RenderMonkey. Это инструментальное средство, разработанное ATI Technologies, предоставляет простую в использовании среду для разработки шейдеров. Такой подход позволяет вам сосредоточиться исключительно на шейдерах, а не на особенностях отдельных API или разработке каркаса приложения.
Предыдущий параграф явно указывает на то, что в этой книге не рассматривается. Поскольку я собираюсь сосредоточить внимание исключительно на шейдерах, я не буду обсуждать детали, относящиеся к программированию на C/C++; не будут обсуждаться и детали работы с API визуализации.
Проще говоря, эта книга о разработке шейдеров с использованием RenderMonkey и языка HLSL.
Чтобы облегчить процесс обучения в ходе чтения книги, я включил в конец каждой главы раздел «Ваш ход!» с несколькими упражнениями. Эти упражнения призывают вас усовершенствовать разработанные в главе шейдеры и углубить полученные знания о шейдерах. Развернутые решения для каждого упражнения находятся в приложении D «Ответы к упражнениям».
Техническая поддержка данной книги осуществляется на сайте http://www.courseptr.com. Там вы найдете регулярно обновляемый список обнаруженных в книге ошибок и обновленные примеры программ. Надеюсь, они помогут решить ваши проблемы.
Если в ходе чтения книги у вас появились вопросы или комментарии, присылайте их мне, Себастьяну Сент-Лауренту, на адрес sebastien_st_laurent@hotmail.com.
netlib.narod.ru | < Назад | Оглавление | Далее > |