Функции API (Direct3D 10)
Графический конвейер Direct3D 10 представляет собой фундаментальное изменение архитектуры, перестроенное с нуля в аппаратном и программном обеспечении, чтобы обеспечить следующее поколение игр и трехмерных мультимедийных приложений. В ней используется модель драйвера дисплея Windows (WDDM), которая обеспечивает повышение производительности и поведение, например виртуальную память GPU.
Разработчики, знакомые с Direct3D 9, обнаружат ряд функциональных улучшений и улучшений производительности в Direct3D 10, в том числе:
- Возможность обработки целых примитивов на новом этапе геометрического шейдера.
- Возможность вывода данных вершин, созданных конвейером, в память с помощью этапа потокового вывода.
- Организация состояния конвейера в 5 неизменяемых объектов состояния, что обеспечивает быструю настройку конвейера.
- Организация констант шейдера в буферы констант, что сводит к минимуму затраты на пропускную способность для предоставления данных о константе шейдера.
- Возможность переключения и настройки каждого примитивного материала с помощью геометрического шейдера.
- Новые типы ресурсов (включая массивы текстур, которые можно индексировать из шейдеров) и форматы ресурсов.
- Увеличено обобщение доступа к ресурсам с помощью представления.
- Устаревшие биты возможностей оборудования (ограничения) были удалены в пользу расширенного набора гарантированных функций, предназначенных для оборудования Direct3D 10 класса (минимум).
- Многоуровневая среда выполнения . API Direct3D 10 создается с помощью слоев, начиная с основных функциональных возможностей и создавая необязательные функции и функции поддержки разработчика (отладка и т. д.) во внешних слоях.
- Полная интеграция HLSL. Все шейдеры Direct3D 10 написаны на языке HLSL и реализованы с помощью ядра common-shader.
- Увеличение числа целевых объектов отрисовки, текстур и выборок. Ограничения на длину шейдера также отсутствуют.
- Операции целых чисел и побитовых шейдеров.
- Обратная запись поверхности глубины или трафарета или ресурса с несколькими выборками после того, как она больше не привязана в качестве целевого объекта отрисовки.
- Поддержка нескольких выборок альфа-покрытия.
Существуют дополнительные различия в поведении, о которых разработчики Direct3D 9 также должны знать (см . раздел Рекомендации по Использованию Direct3D 9 в Direct3D 10).
Ниже приведен список функций Direct3D 9, которые больше не поддерживаются или были изменены в Direct3D 10 (см. раздел Устаревшие функции).
Связанные темы