netlib.narod.ru< Назад | Оглавление | Далее >

Введение

Летом 2003 года ко мне обратился Андре ЛаМот с предложением написать книгу посвященную шейдерам. Мой опыт работы с PC и Xbox, а также написания игр и архитектур шейдеров делал меня первоочередным кандидатом на эту работу. Так как я всегда хотел написать техническую книгу, то не смог противиться предложению и с головой окунулся в это приключение.

Первоочередной задачей было разработать подход, который бы я использовал при написании книги. К этому времени уже было доступно несколько книг, посвященных шейдерам, и я чувствовал потребность внести новизну и исследовать тему в такой форме, какой еще не было. Большинство книг вызывали мое недовольство тем, что в них слишком много места уделялось описанию работы с API визуализации, такими как DirectX, и слишком мало времени отводилось созданию шейдеров. Так появилась идея использовать ATI RenderMonkey. Это новое инструментальное средство предлагает богатый набор возможностей и позволяет быстро, легко и интуитивно понятно разрабатывать шейдеры.

Я решил рассказать все, что знаю о шейдерах, и при этом использовать преимущества RenderMonkey, чтобы сделать процесс обучения проще. Большую часть времени, проведенного с этой книгой, вы потратите на изучение и разработку шейдеров. Я не сосредотачиваюсь только на основах; вам будут представлены несколько техник — от простейших до профессиональных — в прямолинейной манере, нацеленной на быстрое усваивание и применение полученных из книги знаний.

Для кого предназначена книга

Книга посвящена разработке шейдеров; следовательно она предназначена для всех, кому интересна эта тема. Поскольку рассматриваемые в книге темы и техники весьма разнообразны, интересное для себя найдет любой читатель — от новичка до профессионального разработчика шейдеров.

Используемый в этой книге подход — применение RenderMonkey — позволяет дистанцировать содержание от API визуализации, таких как DirectX или OpenGL. Благодаря этому читатель может сосредоточиться непосредственно на разработке шейдеров, а не на разработке каркаса приложения. Использованный в книге подход имеет дополнительное преимущество, делая разработку шейдеров доступной не только программистам, но и технически подкованным художникам.

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

Что рассматривается в книге (и что — нет)

Тема книги — шейдеры, и только на них я и сосредоточусь. Я объясню множество техник, охватывающих широкий диапазон от фильтрации изображений до сложных алгоритмов освещения. Приведенный ниже список подытоживает рассматриваемые в книге темы:

Все шейдеры разработаны с использованием платформы RenderMonkey. Это инструментальное средство, разработанное ATI Technologies, предоставляет простую в использовании среду для разработки шейдеров. Такой подход позволяет вам сосредоточиться исключительно на шейдерах, а не на особенностях отдельных API или разработке каркаса приложения.

Предыдущий параграф явно указывает на то, что в этой книге не рассматривается. Поскольку я собираюсь сосредоточить внимание исключительно на шейдерах, я не буду обсуждать детали, относящиеся к программированию на C/C++; не будут обсуждаться и детали работы с API визуализации.

Проще говоря, эта книга о разработке шейдеров с использованием RenderMonkey и языка HLSL.

Упражнения

Чтобы облегчить процесс обучения в ходе чтения книги, я включил в конец каждой главы раздел «Ваш ход!» с несколькими упражнениями. Эти упражнения призывают вас усовершенствовать разработанные в главе шейдеры и углубить полученные знания о шейдерах. Развернутые решения для каждого упражнения находятся в приложении D «Ответы к упражнениям».

Техническая поддержка

Техническая поддержка данной книги осуществляется на сайте http://www.courseptr.com. Там вы найдете регулярно обновляемый список обнаруженных в книге ошибок и обновленные примеры программ. Надеюсь, они помогут решить ваши проблемы.

Если в ходе чтения книги у вас появились вопросы или комментарии, присылайте их мне, Себастьяну Сент-Лауренту, на адрес sebastien_st_laurent@hotmail.com.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz