1

オブジェクトを obj および mtl 形式でレンダリングするコードがあります (android - opengl es 1.1) 小さなオブジェクト (テクスチャが少ない) の場合は問題ありませんが、テクスチャの数が 30 ~ 40 を超えると、logcat で次のように表示されます: eglLockWindowSurface failed to map memory at... and を使用してすべてのテクスチャをロードします(onSurfaceCreatedすべて単一のテクスチャ ユニットに)。そして、引き込むためにそれらをバインドしますglBindTexturetexImage2DonDrawFrame

正確には何が問題なのですか?何時間も検索しましたが、テクスチャ アトラス以外にこの状況の解決策が見つかりませんでした。会社から Blender/3dsmax のエクスポート ファイルが提供されているため、この方法は使用できません。このエラーを回避し、この多すぎるテクスチャを処理するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

テクスチャの読み込みとバインドの唯一の制限は、最大整数サイズです! 制限は最大テクスチャ サイズでした (デバイスによって異なります)。最大テクスチャ サイズが 4096kB の場合、幅 * 高さ * 4 が 4096,000 を超えるイメージをバインドできないことを意味します。(4 は float サイズ)。そのため、画像を縮小する必要があります。

于 2013-01-01T09:14:46.210 に答える