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