Direct3D Feature Level 是否保证对体积纹理的非 2 次幂支持?
Does Direct3D Feature Level guarantee non-power-of-2 support for volume textures?
在 Direct3D9 中有 capability flags 如:
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
: ... conditionally supports the use of 2D textures with dimensions that are not powers of two ...
D3DPTEXTURECAPS_POW2
: ... all textures must have widths and heights specified as powers of two. This requirement does not apply to ... volume textures ...
D3DPTEXTURECAPS_VOLUMEMAP_POW2
: Device requires that volume texture maps have dimensions specified as powers of two.
在 Direct3D10 中有 feature levels。
功能级别 10_0
及以上具有:
- Nonpowers-of-2 unconditionally⁴
⁴ At feature levels 10_0, 10_1 and 11_0, the display device unconditionally supports the use of 2-D textures with dimensions that are not powers of two.
但是没有提到 3-D 纹理。
在 D3D10+ 中是否支持非 2 的幂次方体积纹理?
Direct3D 10 及更高版本将所有资源大小定义为对 2 的幂大小或与之关联的过滤功能没有特定限制。
While they are not super easy to understand, you can look at the engineering specs for Direct3D 11 on GitHub
在 Direct3D9 中有 capability flags 如:
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
: ... conditionally supports the use of 2D textures with dimensions that are not powers of two ...D3DPTEXTURECAPS_POW2
: ... all textures must have widths and heights specified as powers of two. This requirement does not apply to ... volume textures ...D3DPTEXTURECAPS_VOLUMEMAP_POW2
: Device requires that volume texture maps have dimensions specified as powers of two.
在 Direct3D10 中有 feature levels。
功能级别 10_0
及以上具有:
- Nonpowers-of-2 unconditionally⁴
⁴ At feature levels 10_0, 10_1 and 11_0, the display device unconditionally supports the use of 2-D textures with dimensions that are not powers of two.
但是没有提到 3-D 纹理。
在 D3D10+ 中是否支持非 2 的幂次方体积纹理?
Direct3D 10 及更高版本将所有资源大小定义为对 2 的幂大小或与之关联的过滤功能没有特定限制。
While they are not super easy to understand, you can look at the engineering specs for Direct3D 11 on GitHub