2011-12-09 2 views
0

TextureCollectionTexturesGraphicsDeviceのプライベートフィールド_maxTexturesがあると、デバッガで(少なくとも現在のマシンのHiDefプロファイルで)検査すると16の値が表示されますが、どこにも見つからないこれは文書化されているか照会可能です。XNA TextureCollectionの最大テクスチャを安全に判断する方法はありますか?

このオブジェクトのどのインデックスにアクセスできるか、またはこれがどのような状況で変化する可能性があるかを知る安全な方法がありますか?

答えて

1

なぜ必要なのかわかりません。通常、使用するテクスチャの数には特に制限はありません。しかし、 "持っている"とは異なることを意味する可能性があります。あなたは、あなたの記憶と同じ数のテクスチャを使うことができます。 私の推測では、このプロパティは何とか同時にバインドされたテクスチャの量を頼りにしていると思います。たとえば、マルチテクスチャのためのアクティブシェーダで。 XNA 4.0の前に、あなたは今、キャップが完全に除去され、その使用するプロファイルに応じ保証

myDevice.GraphicsDeviceCapabilities.MaxSimultaneousTextures 

を経由して、このアクセスcoud。リーチまたはHiDef。これらのプロファイルでは、制限はいくらかハードコードされているか、または事前定義されており、変更することはできません。

+0

あなたの答えをありがとう。私は実際になぜ私がこれをしたいのかについてのより多くの文脈を含んでいましたが、私の質問の編集は、私のコレクションのためのもう一つの崩壊のバッジのようでした。私は実行時に変更されたテクスチャを持っているので、データを変更する際にバインドされていないことを確認する必要があります。私はそれがプロファイルに関連していると思っていましたが、他の機能と違ってどこにも文書化されていません。 – PeterT

関連する問題