Обработка кодов шейдеров

Драйвер экрана пользовательского режима использует объявления вершин и маркеры внутри каждого отдельного пикселя и кода шейдера вершин, чтобы программировать сборки шейдеров.

Драйвер экрана пользовательского режима получает код шейдера вершин и пикселей, когда среда выполнения Microsoft Direct3D вызывает функции креатевертексшадерфунк и креатепикселшадер драйвера соответственно. Драйвер экрана пользовательского режима получает объявления вершин, когда среда выполнения вызывает функцию креатевертексшадердекл драйвера. Объявления вершин состоят из массивов структур D3DDDIVERTEXELEMENT . Драйвер экрана пользовательского режима преобразует код шейдера и объявления вершинных шейдеров в аппаратно-зависимый формат и связывает код и объявления шейдера с маркерами шейдера и объявлений. Среда выполнения использует созданные дескрипторы в вызовах функций сетвертексшадердекл, сетвертексшадерфунки сетпикселшадер для установки объявления вершинного шейдера и шейдеров вершин и пикселей, чтобы все последующие операции рисования использовали их.

Дополнительные сведения о формате отдельного кода шейдера и маркеров, составляющих каждый код шейдера, см. в разделе коды шейдеров Direct3D.

Примечание . Когда приложение создает шейдеры вершин, шейдеры пикселей и объявления вершин, код шейдера и объявление для каждой стороны заканчиваются конечным маркером. Когда среда выполнения Direct3D, в свою очередь, передает запросы на создание шейдера вершин и построителя текстуры в драйвер монитора пользовательского режима, код шейдера вершин и точек, сопровождающий запросы, завершается завершающими маркерами. Однако когда среда выполнения передает запросы на создание объявления вершины, объявления вершин, сопровождающие запросы, не заканчиваются на конечные маркеры.