Поделиться через


Функции 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