Reprinted please indicate the source isKlayge Game Engine
, The address of this article isHttp://www.klayge.org /? P = 626
In WINXP, even if the GPU supports d3d10 +, you can only use the d3d9 API. But in fact, various manufacturers have made some extensions to d3d9, and some d3d10 + features are exposed to the d3d9 API. The following are some special texture formats that can be used by fourcc. Checkdeviceformat can be used to check whether the format is supported. You can pass it in when createtexture is used. The source of the table below is the GPU documentation of various vendors, which is organized by unity Aras:
Usage column: DS = depthstencer, rT = rendertarget; resource column: Tex = texture, surf = surface. The more hardware is supported.
Format |
Usage |
Resource |
Description |
NVIDIA geforce |
ATI radeon |
Intel |
Shadow Mapping |
D3dfmt_d16 |
DS |
Tex |
Sample depth buffer directly as shadow map. |
3 + |
HD 2xxx + |
965 + |
D3dfmt_d24x8 |
DS |
Tex |
3 + |
HD 2xxx + |
965 + |
Depth buffer as texture |
Df16 |
DS |
Tex |
Read depth buffer as texture. |
|
9500 + |
G45 + |
Df24 |
DS |
Tex |
|
X1300 + |
|
Intz |
DS |
Tex |
8 + |
HD 4xxx + |
G45 + |
Rawz |
DS |
Tex |
6 & 7 |
|
|
Anti-aliasing related |
Resz |
RT |
Surf |
Resolve msaa 'd depth stencel surface into non-msaa 'd depth texture. |
|
HD 4xxx + |
G45 + |
ATOC |
0 |
Surf |
Transparency anti-aliasing. |
7 + |
|
|
Ssaa |
0 |
Surf |
7 + |
|
|
All ATI sm2.0 + hardware |
|
9500 + |
|
N/ |
|
|
Coverage sampled anti-aliasing |
8 + |
|
|
Texturing |
Ati1 |
0 |
Tex |
Ati1n & ati2n texture compression formats. |
8 + |
X1300 + |
G45 + |
Ati2 |
0 |
Tex |
6 + |
9500 + |
G45 + |
Df24 |
DS |
Tex |
Fetch 4: when sampling 1 channel texture, return four touched Texel values. Check for df24 support. |
|
X1300 + |
|
Misc |
Null |
RT |
Surf |
Dummy render target surface that does not consume video memory. |
6 + |
HD 4xxx + |
|
Nvdb |
0 |
Surf |
Depth Bounds Test. |
6 + |
|
|
R2vb |
0 |
Surf |
Render into vertex buffer. |
6 & 7 |
9500 + |
|
Inst |
0 |
Surf |
Geometry instancing on pre-SM3.0 hardware. |
|
9500 + |
|
For more information about GPU extensions, see:
- Nvidia gpu programming guide
- Advanced DX9 capabilities for ATI radeon cards-whitepaper (July 2009)