Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Среда выполнения Microsoft Direct3D преобразует состояние фиксированной функции Direct3D в вершину или шейдер пикселей версии 2.0, если драйвер отображения пользовательского режима поддерживает версию 2.0 или более поздней для каждого типа шейдера. Однако среда выполнения не преобразует версии шейдера. Например, если приложение использует шейдер вершин или шейдер пикселей версии 1.1, то версия 1.1 передается в драйвер отображения пользовательского режима независимо от того, поддерживает ли драйвер шейдер версии 2.0 или более поздней. Коды гибкого формата вершин (FVF) используются с обработкой фиксированной функции.
Функции конвертера для версий DirectX
Как работают преобразователи вершин фиксированной функции и шейдеров пикселей зависит от используемой версии Microsoft DirectX.
DirectX 9.0
Преобразователи вершин фиксированной функции и шейдера пикселей могут работать с моделью драйвера отображения Windows Vista.
Преобразователи включены по умолчанию.
Если используется конвертер фиксированной функции для вершинного или пиксельного шейдера, чистое устройство отключено. Когда приложение запрашивает чистое устройство, среда выполнения Direct3D создает устройство HAL.
Среда выполнения поддерживает обработку смешанных вершин.
Обработка вершин программного обеспечения всегда использует преобразователь шейдера вершин фиксированной функции.
Аппаратная обработка вершин использует преобразователь шейдера вершин фиксированной функции, если драйвер поддерживает шейдер вершин версии 2.0 или более поздней.
Аппаратная обработка вершин использует преобразователь шейдера пикселей фиксированной функции, если драйвер поддерживает шейдер пикселей версии 2.0 или более поздней.
В режиме смешанной обработки вершин, когда для оборудования включен преобразователь шейдера фиксированной функции, количество постоянных значений с плавающей точкой устанавливается в зависимости от возможностей оборудования.
DirectX 8.0 и более ранних версий
Преобразователи вершин фиксированной функции и шейдера пикселей могут работать только с моделью драйвера для отображения Windows Vista.
Преобразователи включены по умолчанию.
Преобразователь шейдера вершин фиксированной функции не поддерживается при программной обработке вершин.
Аппаратная обработка вершин использует преобразователь шейдера вершин фиксированной функции, если драйвер поддерживает шейдер вершин версии 2.0 или более поздней.
Аппаратная обработка вершин использует преобразователь шейдера пикселей фиксированной функции, если драйвер поддерживает шейдер пикселей версии 2.0 или более поздней.
Заметка В версиях DirectX до DirectX 8.0 код сопоставления фиктивной функции с шейдерами реализован в Ddraw.dll.
Неиспользуемые функции драйвера дисплея User-Mode
Следующие функции драйвера отображения в пользовательском режиме не вызываются средой выполнения Direct3D при включении преобразователя шейдера вершин фиксированной функции:
Неиспользуемые состояния отрисовки
Следующие состояния растра не передаются средой выполнения Direct3D (или, если они переданы ошибочно, могут быть проигнорированы драйвером) при активации преобразователя фиксированных функциональных вершинных шейдеров:
D3DRS_VERTEXBLEND
D3DRS_INDEXEDVERTEXBLENDENABLE
D3DRS_TWEENFACTOR
D3DRS_FOGVERTEXMODE
D3DRS_LIGHTING
D3DRS_AMBIENT
D3DRS_COLORVERTEX
D3DRS_LOCALVIEWER
D3DRS_DIFFUSEMATERIALSOURCE
D3DRS_SPECULARMATERIALSOURCE
D3DRS_AMBIENTMATERIALSOURCE
D3DRS_EMISSIVEMATERIALSOURCE
D3DRS_POINTSCALEENABLE
D3DRS_POINTSCALE_A
D3DRS_POINTSCALE_B
D3DRS_POINTSCALE_C
D3DRS_NORMALIZENORMALS
Игнорируемые состояния стадии текстуры
Среда выполнения Direct3D передает все состояния стадии текстуры драйверу. Драйвер должен игнорировать следующие состояния стадии текстуры, если включен преобразователь шейдера пикселей фиксированной функции:
D3DTSS_COLOROP
D3DTSS_COLORARG1
D3DTSS_COLORARG2
D3DTSS_ALPHAOP
D3DTSS_ALPHAARG1
D3DTSS_ALPHAARG2
D3DTSS_BUMPENVMAT00
D3DTSS_BUMPENVMAT01
D3DTSS_BUMPENVMAT10
D3DTSS_BUMPENVMAT11
D3DTSS_BUMPENVLSCALE
D3DTSS_BUMPENVLOFFSET
D3DTSS_COLORARG0
D3DTSS_ALPHAARG0
D3DTSS_RESULTARG
D3DTSS_CONSTANT