2016-11-16 18 views
0

大量の画像の一部をメモリに読み込んでテクスチャに変換するにはどうすればよいですか? StretchRectを使用すると、画像全体をテクスチャにロードしようとすると動きません。たとえば、幅が17000ピクセルの画像をロードしようとすると、ほとんどのGPUでは機能しません。Directx9 C++大量の画像の一部からテクスチャを読み込む方法

答えて

0

画像の一部でテクスチャを作成する(連続した部分矩形が必要な場合を想定しています)は、画像全体で行うことと本質的に同じです。 D3D9では、ターゲットテクスチャのLockRectに画像の内容を書き込みます。画像の内容全体を書き込むのではなく、部分矩形のy原点から始まり、各矩形のx原点で各行のソースをオフセットすることで、行ごとにバイトを書き込むだけです。

もちろん、ターゲットテクスチャはテクスチャサイズの制限に従う必要があります。

+0

しかし、それは私が回避しようとしているものです。私は、テクスチャサイズの制約を守らずに物をロードできるようにしたい。 – braffolk

+0

ドライバよりも大きなテクスチャを作成することはできません。あなたの質問はイメージの一部を読み込む方法を尋ねます - おそらくあなたは明確にするべきです。 – MuertoExcobito

関連する問題