netlib.narod.ru | < Назад | Оглавление | Далее > |
В этой главе вы много узнали о профессиональных шейдерных эффектах и теперь должны быть готовы создавать собственные шейдеры и экспериментировать с некоторыми идеями, могущими возникнуть у вас. Поскольку сегодня шейдеры полностью программируемы, невозможно исследовать все возможности и способы применения шейдеров. В будущем может появиться множество новых техник, делающих игры выглядящими еще лучше. Но шейдеры используются не только для игр; отдельные приложения пытаются использовать мощь GPU для других целей, и было проведено несколько экспериментов, демонстрирующих применение GPU для математических вычислений и физики. Это может звучать бредово, но для некоторых из этих задач GPU является гораздо лучшим вычислителем, чем центральный процессор, поскольку так хорошо подходит для обработки пикселов и в нем параллельно работают 24 (а зачастую и больше) блоков обработки пикселов.
Вот список шейдеров и проблем, с которыми вы столкнулись в этой главе:
Вы увидели, что наложение нормалей значительно улучшает трехмерные модели. Объекты всего с несколькими сотнями полигонов выглядят почти так же хорошо, как трехмерные объекты с миллионами полигонов. Но чтобы все это работало правильно, вам необходимы правильные данные касательных в трехмерной геометрии.
Сжимая карты нормалей вы можете сэкономить много видеопамяти, сохраняя замечательное визуальное качество. Используйте утилиту NormalMapCompressor для быстрой генерации сжатых карт нормалей.
FX Composer — это программа выполняющая всю тяжелую работу для кода ваших шейдеров. Visual Studio замечательно подходит для кода, а FX Composer, очевидно, лучшая среда разработки для шейдеров. Особенно полезен предварительный просмотр сцены.
Чтобы в будущем безболезненно работать с шейдерами в графический движок было добавлено несколько новых классов, позволяющих вам загружать и визуализировать шейдеры (класс ShaderEffect), назначать и устанавливать материалы (класс Material) и использовать данные трехмерной геометрии с поддержкой касательных (структура TangentVertex).
В конце мы рассмотрели несколько других шейдеров, включая наложение смещений/поэтапное наложение параллакса, шейдер стекла, шейдеры отражения и воды, и шейдер наложения параллакса в упражнении (надеюсь, вы с ним справились).
Эксперименты с шейдерами могут доставлять удовольствие.
Со всем этим новым кодом вы готовы к разработке новой игры в следующей главе, где мы также узнаем о постэкранных шейдерах, значительно улучшающих визуальное качество и общее впечатление от ваших последующих игр.
netlib.narod.ru | < Назад | Оглавление | Далее > |