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


Интерфейсы шейдера (графика Direct3D 10)

В этом разделе содержатся сведения о следующих интерфейсах шейдера:

Каждый из этих интерфейсов шейдера управляет скомпилированной шейдером. Интерфейс создается при компиляции шейдера, а затем передается различным API, которым требуется доступ к скомпилированному шейдеру; например, при привязке шейдера к сцене конвейера или получении подписи шейдера.

интерфейсы Pipeline-Stage Описание
id3D10GeometryShader Interface Геометрическая шейдера реализует примитивную обработку на этапе геометрического шейдера.
интерфейс ID3D10PixelShader Шейдер пикселей реализует обработку на пиксель в стадии шейдера пикселей.
интерфейс ID3D10VertexShader Вершинный шейдер реализует обработку вершин в стадии вершинного шейдера.

 

Интерфейсы шейдер-отражения позволяют приложению проверять содержимое шейдера во время разработки или разработки. Отражение шейдера не полезно для задания переменных во время выполнения, так как это зеркало данных шейдера, поэтому не поддерживает методы настройки данных.

интерфейсы Shader-Reflection Описание
id3D10ShaderReflection Interface COM-интерфейс для чтения сведений из скомпилированного шейдера во время разработки.
ID3D10ShaderReflectionConstantBuffer Interface Вспомогательный интерфейс для получения интерфейса константы-буфера шейдера-отражения.
интерфейс ID3D10ShaderReflectionType Вспомогательный интерфейс для получения интерфейса шейдера-отражения типа.
id3D10ShaderReflectionVariable Interface Вспомогательный интерфейс для получения интерфейса шейдер-отражение-переменная.
идентификатор 3D10ShaderResourceView Interface Интерфейс отражения шейдера для чтения сведений из представления шейдер-ресурсов.

 

API отражения шейдера реализуют один интерфейс отражения шейдера COM (ID3D10ShaderReflection Interface) и несколько вспомогательных интерфейсов, отличных от COM (остальные интерфейсы). id3D10ShaderReflection Interface создается при создании объекта отражения шейдера. Он следует стандартным правилам COM; при создании интерфейса увеличивается число ссылок, и интерфейс должен быть освобожден, когда он больше не нужен. Остальные интерфейсы шейдер-отражения являются вспомогательными интерфейсами, которые не наследуются от IUnknown. Это означает, что они не изменяют количество ссылок при их создании, и их не нужно уничтожать после завершения работы с ними.

Справочник по шейдеру