回答:
次のミップマップサイズを計算するには、2で割って最も近い整数に切り捨てます(0に切り捨てる場合を除き、その場合は1になります)。たとえば、57x43の画像には次のようなミップマップがあります。
level 0: 57x43
level 1: 28x21
level 2: 14x10
level 3: 7x5
level 4: 3x2
level 5: 1x1
UVマッピング、LOD選択、およびフィルタリングは、2のべき乗のテクスチャサイズとまったく同じように機能します。
2のべき乗ではないテクスチャの高品質のミップを生成することは少し複雑です。すべての場合にダウンサンプリングするピクセルの2x2ボックスを単純に平均化することはできないからです。ただし、2x2ボックスフィルターは最初はそれほど優れていなかったため、テクスチャサイズに関係なく、Mitchell-Netravaliなどのより良いダウンサンプリングフィルターを使用することをお勧めします。
それを考える1つの方法は、グラフィックスカードはしばしば、各方向に2の累乗になるまでそれらをパディングするだけで、2のべき乗でないテクスチャを実装することです。これにより、タイリングやハードウェアフィルタリングなど、ほとんどのことが「機能する」ようになります。変更する必要があるのは、テクスチャ座標から画像座標への変換だけです。
そのように実装されている場合、ミップマッピングの実行方法は明らかです。変更はありません。パディングなしで2のべき乗以外のテクスチャをサポートするGPUを使用している場合でも、ミップマップレベルは「パディング」になります。たとえば、3x3テクスチャは、lod 1として2x2テクスチャを持ちます。