Конгер Д.
Физика для разработчиков компьютерных игр
стр. 111

Преобразованные и непреобразованные вертексы

Выполнять рендеринг в Direct3D можно двумя способами. Можно выполнить все преобразования самому и передать устройству Direct3D вертексы, которые нужно непосредственно выводить на экран. Есть и другой способ. Можно указать Direct3D, какие преобразования нужно выполнить, и передать устройству непреобразованные вертексы объекта. Direct3D выполнит заданные вами преобразования и выведет на экран их результат.

Microsoft настаивала на том, что все игры должны работать с ЗО-графикой, и результатом такой настойчивости стало одно странное свойство: единственный формат преобразованных вертексов - это D3DFVF_XYZRHW. У вертексов этого формата есть четыре компонента - х, у, z и w. В этом примере у всех вертексов компоненту z будет присваиваться значение 0, а w - значение 1, чтобы мы могли сосредоточиться на 20-графике.

В листинге 4.1 приведен формат вертексов, используемых в программе отображения вращающегося треугольника.

Тип вертекса, определенный в листинге 4.1, содержит элементы для хранения координат х, у и z, определяющих позицию вертекса. Кроме того, в типе есть элемент для хранения цвета вертекса. Отображая фигуры с помощью вертексов этого типа, Direct3D будет смешивать цвета разных вертексов. Например, как мы скоро увидим, в программе отображения вращающегося треугольника каждому вертексу треугольника задан свой цвет. Один из этих цветов - красный, а второй - синий. Для каждого пикселя треугольника между этими вертексами Direct3D определит цвет, смешивая цвета двух вертексов. Пиксели, расположенные ближе к красному вертексу, будут более красного оттенка, а расположенные ближе к синему - более синего.

Чтобы Direct3D смешивал цвета вертексов, программа должна объяснить ему, что содержится в каждом вертексе. Это можно сделать с помощью набора флагов гибкого формата вертексов. Обозначения всех флагов начинаются с символов D3DFVF_, за которыми следует описание формата вертекса. В программе отображения вращающегося треугольника в вертексах хранятся их координаты (х, у, z) и цвет. Об этом и должны сообщить Direct3D флаги. В программе используются флаги D3DFVF_XYZ и









Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.