Convertir el estado de Fixed-Function direct3D
El tiempo de ejecución de Microsoft Direct3D convierte el estado de función fija de Direct3D en la versión 2.0 del sombreador de vértices o píxeles si el controlador de pantalla en modo de usuario admite la versión 2.0 o posterior para cada tipo de sombreador. Sin embargo, el tiempo de ejecución no convierte las versiones del sombreador. Por ejemplo, si una aplicación usa vértices o sombreador de píxeles versión 1.1, la versión 1.1 se pasa sin convertir al controlador de pantalla en modo de usuario independientemente de si el controlador admite la versión 2.0 o posterior del sombreador. Los códigos de formato de vértice flexible (FVF) se usan con el procesamiento de funciones fijas.
Características del convertidor para versiones de DirectX
La forma en que funcionan los convertidores de vértices y sombreador de píxeles de función fija depende de la versión de Microsoft DirectX usada:
DirectX 9.0
Los convertidores de vértices y sombreador de píxeles de función fija pueden funcionar con el modelo de controlador de pantalla de Windows Vista.
Los convertidores están habilitados de forma predeterminada.
Cuando se usa el convertidor de vértices de función fija o sombreador de píxeles, el dispositivo puro está deshabilitado. Cuando una aplicación solicita el dispositivo puro, el entorno de ejecución de Direct3D crea un dispositivo HAL.
El entorno de ejecución admite el procesamiento de vértices mixtos.
El procesamiento de vértices de software siempre usa el convertidor de sombreador de vértices de función fija.
El procesamiento de vértices de hardware usa el convertidor de sombreador de vértices de función fija cuando el controlador admite sombreador de vértices versión 2.0 o posterior.
El procesamiento de vértices de hardware usa el convertidor de sombreador de píxeles de función fija cuando el controlador admite la versión 2.0 o posterior del sombreador de píxeles.
En el modo de procesamiento de vértices mixtos cuando el convertidor de sombreador de vértices de función fija está habilitado para el hardware, el número de constantes float se establece en lo que el hardware puede admitir.
DirectX 8.0 y versiones anteriores
Los convertidores de vértices y sombreador de píxeles de función fija solo pueden funcionar con el modelo de controlador de pantalla de Windows Vista.
Los convertidores están habilitados de forma predeterminada.
El convertidor de sombreador de vértices de función fija no se admite con el procesamiento de vértices de software.
El procesamiento de vértices de hardware usa el convertidor de sombreador de vértices de función fija cuando el controlador admite sombreador de vértices versión 2.0 o posterior.
El procesamiento de vértices de hardware usa el convertidor de sombreador de píxeles de función fija cuando el controlador admite la versión 2.0 o posterior del sombreador de píxeles.
Nota Para las versiones de DirectX anteriores a DirectX 8.0, la función fija para el código de asignación de sombreador se implementa en Ddraw.dll.
Funciones de controlador de visualización de User-Mode no usadas
El tiempo de ejecución de Direct3D no llama a las siguientes funciones de controlador de pantalla en modo de usuario cuando el convertidor de sombreador de vértices de función fija está habilitado:
Estados de representación sin usar
El tiempo de ejecución de Direct3D no pasa los siguientes estados de representación (o, si se pasa por error, el controlador puede omitirlo) cuando el convertidor de sombreador de vértices de función fija está habilitado:
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
Estados de fase de textura omitida
El tiempo de ejecución de Direct3D pasa todos los estados de fase de textura al controlador. El controlador debe omitir los siguientes estados de fase de textura cuando el convertidor de sombreador de píxeles de función fija está habilitado:
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