Funcionalidades necesarias de Direct3D 9
Para que las aplicaciones accedan completamente a las características de las versiones 9_1, 9_2 y 9_3 de Microsoft Direct3D, el controlador en modo de usuario debe exponer ciertas funcionalidades de hardware. Estas funcionalidades se expresan en términos de la estructura D3DCAPS9 que devuelve la función GetCaps del controlador en modo de usuario. Para indicar la compatibilidad con las funcionalidades, el controlador debe establecer estos miembros de D3DCAPS9 en un OR bit a bit de todos los valores de marca respectivos:
Funcionalidades mínimas para el nivel 9_1 de Direct3D
miembro de D3DCAPS9 | Valor de marca |
---|---|
Caps2 | D3DCAPS2_DYNAMICTEXTURES D3DCAPS2_FULLSCREENGAMMA |
PresentationIntervals | D3DPRESENT_INTERVAL_IMMEDIATE D3DPRESENT_INTERVAL_ONE |
PrimitiveMiscCaps | D3DPMISCCAPS_COLORWRITEENABLE |
ShadeCaps | D3DPSHADECAPS_ALPHAGOURAUDBLEND D3DPSHADECAPS_COLORGOURAUDRGB D3DPSHADECAPS_FOGGOURAUD D3DPSHADECAPS_SPECULARGOURAUDRGB |
TextureFilterCaps | D3DPTFILTERCAPS_MINFLINEAR D3DPTFILTERCAPS_MINFPOINT D3DPTFILTERCAPS_MAGFLINEAR D3DPTFILTERCAPS_MAGFPOINT |
TextureCaps
(Consulte la siguiente nota.) |
D3DPTEXTURECAPS_ALPHA D3DPTEXTURECAPS_CUBEMAP D3DPTEXTURECAPS_MIPMAP D3DPTEXTURECAPS_PERSPECTIVE |
TextureAddressCaps | D3DPTADDRESSCAPS_CLAMP D3DPTADDRESSCAPS_INDEPENDENTUV D3DPTADDRESSCAPS_MIRROR D3DPTADDRESSCAPS_WRAP |
TextureOpCaps | D3DTEXOPCAPS_DISABLE D3DTEXOPCAPS_MODULATE D3DTEXOPCAPS_SELECTARG1 D3DTEXOPCAPS_SELECTARG2 |
SrcBlendCaps | D3DPBLENDCAPS_INVDESTALPHA D3DPBLENDCAPS_INVDESTCOLOR D3DPBLENDCAPS_INVSRCALPHA D3DPBLENDCAPS_ONE D3DPBLENDCAPS_SRCALPHA D3DPBLENDCAPS_ZERO |
DestBlendCaps | D3DPBLENDCAPS_ONE D3DPBLENDCAPS_INVSRCALPHA D3DPBLENDCAPS_INVSRCCOLOR D3DPBLENDCAPS_SRCALPHA D3DPBLENDCAPS_ZERO |
StretchRectFilterCaps | D3DPTFILTERCAPS_MAGFLINEAR D3DPTFILTERCAPS_MAGFPOINT D3DPTFILTERCAPS_MINFLINEAR D3DPTFILTERCAPS_MINFPOINT |
ZCmpCaps | D3DPCMPCAPS_ALWAYS D3DPCMPCAPS_LESSEQUAL |
RasterCaps | D3DPRASTERCAPS_DEPTHBIAS D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS |
Galería de símbolosCaps | D3DSTENCILCAPS_TWOSIDED |
MaxTextureWidth | 2048 |
MaxTextureHeight | 2048 |
NumSimultaneousRTs | 1 |
MaxSimultaneousTextures | 8 |
MaxTextureBlendStages | 8 |
PixelShaderVersion | D3DPS_VERSION(2,0) |
MaxPrimitiveCount | 65535 |
MaxVertexIndex | 65534 |
MaxVolumeExtent | 256 |
MaxTextureRepeat | Debe ser cero, o 128, o superior. |
MaxAnisotropy | 2 |
MaxVertexW | 0.f |
Nota Estos requisitos también se aplican:
- El controlador también debe establecer el miembro TextureCaps en un valor de D3DPTEXTURECAPS_NONPOW2CONDITIONAL y D3DPTEXTURECAPS_POW2, o en ninguno de ellos.
- Cuando el controlador responde a un evento, donde D3DDDIARG_CREATEQUERY. QueryType es D3DDDIQUERYTYPE_EVENT, siempre debe establecer el valor BOOL del evento en TRUE al responder. Consulte CreateQuery y D3DDDIARG_CREATEQUERY.
Funcionalidades mínimas para el nivel 9_2 de Direct3D
Estas funcionalidades deben establecerse además de las enumeradas para el nivel 9_1 de Direct3D.
miembro de D3DCAPS9 | Valor de marca |
---|---|
PrimitiveMiscCaps | D3DPMISCCAPS_SEPARATEALPHABLEND |
DevCaps2 | D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET |
TextureAddressCaps | D3DPTADDRESSCAPS_MIRRORONCE |
VolumeTextureAddressCaps | D3DPTADDRESSCAPS_MIRRORONCE |
MaxTextureWidth | 2048 |
MaxTextureHeight | 2048 |
MaxTextureRepeat | Debe ser cero, o 2048, o superior. |
VertexShaderVersion | D3DVS_VERSION(2,0) |
MaxAnisotropy | 16 |
MaxPrimitiveCount | 1048575 |
MaxVertexIndex | 1048575 |
MaxVertexW | 10000000000.f |
Nota Este requisito también se aplica a:
- Cuando el controlador responde a una consulta z-testing, donde D3DDDIARG_CREATEQUERY. QueryType es D3DDDIQUERYTYPE_OCCLUSION, siempre debe establecer el valor UINT de la consulta en un valor distinto de cero al responder. Consulte CreateQuery y D3DDDIARG_CREATEQUERY.
Funcionalidades mínimas para el nivel 9_3 de Direct3D
Estas funcionalidades deben establecerse además de las enumeradas para los niveles 9_1 y 9_2 de Direct3D.
D3DCAPS9 miembro | Valor de marca |
---|---|
PS20Caps-Caps> | D3DPS20CAPS_GRADIENTINSTRUCTIONS |
PrimitiveMiscCaps | D3DPMISCCAPS_INDEPENDENTWRITEMASKS D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
TextureAddressCaps | D3DPTADDRESSCAPS_BORDER |
MaxTextureWidth | 4096 |
MaxTextureHeight | 4096 |
MaxTextureRepeat | Debe ser cero, o 8192, o superior. |
NumSimultaneousRTs | 4 |
PS20Caps-NumInstructionSlots> | 512 (Sombreador de píxeles versión 2b) |
PS20Caps-NumTemps> | 32 (Sombreador de píxeles versión 2b) |
VS20Caps-NumTemps> | 32 (Sombreador de vértices versión 2a) |
MaxVertexShaderConst | 256 (Sombreador de vértices versión 2a) |
VertexShaderVersion | D3DVS_VERSION(3,0) (véase la nota). |
Nota El valor de VertexShaderVersion de D3DVS_VERSION(3,0) garantiza la compatibilidad con la creación de instancias. Direct3D 10Level 9 no expone el modelo de sombreador 3.0.