Direct3D9的扩展纹理格式

转载请注明出处为 KlayGE游戏引擎 ,本文地址为 http://www.klayge.org/?p=626

在WinXP下,即使GPU支持D3D10+,也只能用D3D9的API。但实际上各个厂商都对D3D9做了一些扩展,把部分D3D10+的特性暴 露给了D3D9 API。以下是一些特殊的纹理格式,通过FOURCC的方式来使用。通过CheckDeviceFormat可以检测是否支持该格式,在 CreateTexture的时候传入即可。下表的源头是各厂商的GPU文档,经过Unity的Aras整理而来:

Usage列:DS=DepthStencil,RT=RenderTarget;Resource列:tex=texture,surf=surface。越绿表示越多硬件支持。

FormatUsageResourceDescriptionNVIDIA GeForceATI RadeonIntel
Shadow mapping
D3DFMT_D16DStexSample depth buffer directly as shadow map.3+HD 2xxx+965+
D3DFMT_D24X8DStex3+HD 2xxx+965+
Depth Buffer As Texture
DF16DStexRead depth buffer as texture.
9500+G45+
DF24DStex
X1300+
INTZDStex8+HD 4xxx+G45+
RAWZDStex6 & 7

Anti-Aliasing related
RESZRTsurfResolve MSAA’d depth stencil surface into non-MSAA’d depth texture.
HD 4xxx+G45+
ATOC0surfTransparency anti-aliasing.7+

SSAA0surf7+

All ATI SM2.0+ hardware
9500+
n/a

Coverage Sampled Anti-Aliasing8+

Texturing
ATI10texATI1n & ATI2n texture compression formats.8+X1300+G45+
ATI20tex6+9500+G45+
DF24DStexFetch 4: when sampling 1 channel texture, return four touched texel values. Check for DF24 support.
X1300+
Misc
NULLRTsurfDummy render target surface that does not consume video memory.6+HD 4xxx+
NVDB0surfDepth Bounds Test.6+

R2VB0surfRender into vertex buffer.6 & 79500+
INST0surfGeometry Instancing on pre-SM3.0 hardware.
9500+

完整的GPU扩展功能,请看:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值