Конгер Д.
Физика для разработчиков компьютерных игр
стр. 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 и









Новости
Антивирусы и облачные сервисы портят сохранения Dark Souls Remastered
Вчера комьюнити-менеджер Bandai Namco под ником Izmar подтвердил проблему в Steam, посоветовав ограничить доступ антивирусов и других программ вроде облачных сервисов Google и Amazon к файлам ремастера Dark Souls.
Facebook анонсировала новую игровую платформу с интерактивными видео
«Facebook анонсировала несколько новых функций видеотрансляций, которые позволят пользователям сделать свои прямые трансляции похожими на игры с опросами и викторинами», — отмечает The Verge.