関数を使用してテクスチャを割り当てる場合、ここで説明するように、適切な値glTexImage*
に設定し、その値までのすべてのレベルを指定する必要があることを知っています。glTexParameteri(GL_TEXTURE_MAX_LEVEL)
関数の場合もこれが必要になるとは思っていませんでした。glTexStorage*
関数はレイヤーの数をパラメーターとして受け入れ、その数のレイヤーに事前にメモリを割り当てるためです。それでも、この方法で定義された不変のテクスチャをサンプリングできないことに気付きました - を呼び出すglGenerateMipmap
か指定GL_TEXTURE_MAX_LEVEL
するまではlevels-1
。
なぜそれが必要なのかという公式の理由は見つかりませんでした。不変のテクスチャのパラメーターは、まあ、不変である (そして適切に初期化されている) と予想していました。この動作が正しいかどうか (およびその理由) を誰かが確認できますか? それともAMDドライバーのバグですか?