有没有办法安全地确定XNA TextureCollection的最大纹理?

时间:2011-12-09 23:33:08

标签: c# xna

我注意到TextureCollection的{​​{1}}'Textures'有一个私有字段GraphicsDevice,在调试器中检查时似乎值为16(至少在在我当前的机器上的HiDef配置文件),但我找不到任何记录或可查询的地方。

是否有一种安全的方法可以知道该对象的哪些索引可以访问,或者在什么情况下可能会发生变化?

1 个答案:

答案 0 :(得分:1)

不确定为什么需要它。通常,您使用的纹理数量没有特定限制。但“有”可能意味着不同的事情。你可以使用尽可能多的纹理。 我的猜测是,这个属性以某种方式反映了同时绑定的纹理数量。例如,在用于多纹理的活动着色器中。在XNA 4.0之前,您可以通过

访问它
myDevice.GraphicsDeviceCapabilities.MaxSimultaneousTextures

现在已完全移除了大写字母,并根据您使用的配置文件确保其大小。到达或HiDef。在这些配置文件中,这些限制有些硬编码或预定义,无法更改。