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









Новости
Авторы Max Payne раскритиковали крупные игры
Глава по коммуникации студии Remedy Томас Пуха заявил, что в нынешних реалиях игрового рынка его команде пришлось реорганизовать производство.
Ubisoft выпустит эксклюзивную фигурку Father’s Calling
Компания Ubisoft сообщила, что коллекционная фигурка Father’s Calling, представляющая собой лидера организации «Врата Эдема» из Far Cry 5, поступит в продажу 22 марта 2018 года по цене 3999 рублей.