したがって、glGenerateMipMapは優れています。私はいくつかのことについて疑問に思っています:
- テクスチャ イメージが glTexSubImage2D を介して変更されたとします。glGenerateMipMapへの別の呼び出しは、十分/必要/不要ですか?
- エンドユーザーがオンザフライで「ミップマップを有効/無効にする」ことができると仮定すると、もちろん GL_TEXTURE_MIN_FILTER はミップマップに応じて設定する必要があります。ただし、以前に生成されたミップマップは GPU VRAM に残りますよね? -- それらを削除するようにドライバーに「ヒント」を与えることはできますか? 元のテクスチャ イメージを再アップロードする必要がありますか (ただし、現在は min-filtering が mipmap に設定されていません)、以前に生成された不要なミップマップを含むメモリをクリアする必要がありますか?
背景 - 上記の質問に対するより多くの洞察を必要とする他のユースケースの中でも、「アプリによって消費されるおよその GPU VRAM を追跡」したいと思います (スケーラブルな任意のテクスチャ/頂点ストリーミングなど、あらゆる種類の理由から) ) --- アプリによって満たされた GL バッファだけでなく、アップロードされたテクスチャも追跡することによって (確かに、それは単なる概算ですが、十分です)。ミップマップを追跡することも必要であるため、それらをクリアする方法、または現在の世代の GL 実装によっていつクリアされるかを知ることは非常に役立ちます。