Программирование графики с использованием Direct3D

       

и отличаются друг от друга,


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


Теперь, когда вы знаете, что представляют собой интерфейсы Direct3D и что они делают, можно приниматься за более веселое занятие — программирование. В главе 4 мы обсудим код приложения Direct3D.


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


Надеюсь, теперь вы узнали об источниках света и тенях в Direct3D все, что хотели. Возможно, вы даже узнали больше, чем намеревались!
В главе 7 мы расстанемся с использованием простейшей анимации (такой, как атрибуты вращения), поскольку изучим иерархии фреймов, ключевые фреймы, анимационные наборы и анимацию камеры.


Данная глава познакомила вас со способами анимации, поддерживаемыми Direct3D. Демонстрационные приложения были сделаны настолько простыми, насколько это возможно (но не настолько, чтобы стать совсем неинтересными). Однако, для реальных приложений они могут оказаться слишком упрощенными. Последовательность ключевых кадров, например, обычно не получают методом проб и ошибок. Гораздо чаще для разработки последовательности применяют специальные анимационные программы. Затем данные анимации экспортируют из анимационной программы и используются внутри приложения для создания реальной анимационной последовательности. Эта глава не посвящалась обсуждению способов разработки анимационных последовательностей. Вместо этого мы сконцентрировались на том, как использовать Direct3D API для реализации анимационной последовательности после того, как она разработана.
В главе 8 мы более подробно рассмотрим сетки. В частности, мы изучим анимацию подсеток. Это значит, что вместо того чтобы изменять положение всей сетки, мы будем анимировать ее отдельные вершины. Данная техника полезна для ряда приложений, например, для морфинга.


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

  • Сетки в сцене не должны быть связаны в иерархическую структуру. Присавивайте сеткам последовательные односимвольные имена, начиная с буквы «a».

  • Иногда, если для преобразования файлов 3DS в X-файлы используется утилита DirectX CONV3DS полезно использовать параметр «ignore frame transformation» (игнорировать трансформацию фрейма).

  • Вот и все, что я хотел рассказать вам о сетках. Мы долго изучали анимацию вершин и применили ее в трех демонстрационных программах. В главе 9 мы подробно изучим области просмотра. Возможно, для вас это окажется достаточно сложной темой.


    Вполне возможно, что написанные вами приложения будут использовать порты просмотра Direct3D исключительно для отображения сцен. Тем не менее, если вам потребуется реализовать такие операции с портами просмотра, как трансфокацмя и выбор объектов, данная глава послужит хорошим отправным пунктом.
    В следующей главе мы поговорим о совместном использовании DirectDraw и Direct3D для создания приложений, которые не используют окна Windows, а занимают весь экран.


    Вот и все — это последняя глава книги. Я надеюсь, что вы узнали все, что хотели, а может быть и немного больше. Удачи!

    Содержание раздела