Программирование 3D-графики. Приложение Direct3D Sample Framework

Основой всех прикладных программ DirectX SDK является ряд простых классов, разработанных корпорацией Microsoft и выполняющих служебные функции. Эти классы не всегда предназначены для внедрения лишь в игровые продукты, поскольку в них заключен базовый набор функций, необходимых почти всем программам. Они выполняют рутинные процедуры настройки DirectX, включая перечисление видеоустройств, распознавание режимов монитора и возможностей каждого из режимов. Кроме того, эти классы помогают взаимодействовать с операционной системой Windows, освобождая от проблем, связанных с обработкой сообщений и плавным переходом от оконного режима работы к полноэкранному.

Самым важным среди используемых классов станет CD3DApplication. Он является своего рода опорой D3D Sample Framework. В нем реализовано все, что необходимо работающей программе, — от создания главного окна и управления конвейером сообщений до запроса режимов работы видеокарты и определения возможностей монитора при помощи класса CD3DEnuraeration. В этом классе содержится и основной цикл приложения, который отвечает за чтение поступающих от Windows сообщений и вызов собственных методов обновления и рендеринга сцены.
Класс CD3DApplication столь полезен потому, что можно его расширить. Отдельные функции-члены этого класса описаны как виртуальные, что позволяет породить от CD3DApplication собственный класс и перегрузить эти функции для придания им нужной функциональности. В этом ключе построены почти, если не все примеры с применением D3D, где виртуальные члены CD3DApplication перегружаются для демонстрации пользователям важнейших аспектов решения конкретных задач.
Математическая библиотека D3DX

Ее применение требует знания основных разделов «пространственной» математики, которые можно получить на курсах ibm. К ним относятся действия над векторами, матрицами, вращение кватернионов. В работе с углами и векторами полезными будут и базовые знания тригонометрии. Если для разработки реальной игры вам может и в самом деле потребоваться весьма сложная математика, то для создания базового ядра достаточно понимать лишь основные идеи этой науки.

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