Przetwarzanie kodów cieniowania

Sterownik wyświetlania w trybie użytkownika używa deklaracji wierzchołków oraz tokenów zawartych w każdym poszczególnym kodzie cieniowania pikseli i wierzchołków do programowania asemblerów cieniowania.

Sterownik wyświetlania trybu użytkownika odbiera kod cieniowania wierzchołków i pikseli, gdy środowisko uruchomieniowe usługi Microsoft Direct3D wywołuje odpowiednio funkcje CreateVertexShaderFunc i CreatePixelShader . Sterownik wyświetlania trybu użytkownika odbiera deklaracje wierzchołków, gdy środowisko uruchomieniowe wywołuje funkcję CreateVertexShaderDecl sterownika. Deklaracje wierzchołków składają się z tablic struktur D3DDDIVERTEXELEMENT. Sterownik wyświetlania w trybie użytkownika konwertuje kod programu cieniującego i deklaracje cieniowania wierzchołków na format specyficzny dla sprzętu oraz wiąże kod i deklaracje z uchwytami dla cieniowania i deklaracji. Środowisko uruchomieniowe używa utworzonych dojść w wywołaniach do SetVertexShaderDecl, SetVertexShaderFunc i SetPixelShader, aby ustawić deklarację shadera wierzchołka oraz shadery wierzchołków i pikseli, tak aby wszystkie kolejne operacje rysowania używały ich.

Aby uzyskać więcej informacji na temat formatu pojedynczego kodu cieniowania i tokenów składających się na każdy kod cieniowania, zobacz Direct3D Shader Codes (Kody cieniowania Direct3D).

Uwaga Gdy aplikacja tworzy shadery wierzchołków, shadery pikseli i deklaracje wierzchołków, kod shadera i deklaracja dla każdego z nich kończy się tokenem końcowym. Kiedy środowisko uruchomieniowe Direct3D z kolei przekazuje żądania tworzenia shaderów wierzchołków i pikseli do sterownika wyświetlania trybu użytkownika, kod shaderów wierzchołków i pikseli, który towarzyszy żądaniom, jest zakończony tokenami końca. Jednak gdy środowisko uruchomieniowe przekazuje żądania tworzenia deklaracji wierzchołków, deklaracje wierzchołków towarzyszące tym żądaniom nie są zakończone tokenami końca.