Lorsque j'utilise glGenerateMipmap()
pour générer une mipmap pour une texture RGBA32F
, l'erreur INVALID_OPERATION
est toujours générée. La texture de liaison ou la définition de plusieurs types de paramètres de texture ne fonctionnaient pas. De la spécification OpenGL ES 3.0, je trouve que RGBA32F
n'est pas filtrable. Alors est-ce la raison de l'erreur?Problème avec le format de texture RGBA32F et le mipmapping avec OpenGL ES 3.0
Malheureusement, je ne trouve pas de conseils sur les "formats de texture pris en charge" dans les documents api de la fonction glGenerateMipmap
. Si oui, alors pourquoi RGBA16F
fonctionne bien, mais le flotteur 32 bits ne fonctionne pas?
grâce ~
oh, merci! J'ai lu cela, mais je ne l'ai pas bien compris. J'ai une confusion. Selon la déclaration, 'RGBA16F' (pas de couleur, mais filtrable) devrait également obtenir une erreur, mais en fait cela fonctionne? – zhy
Certains GPU prennent en charge plus que les spécifications requises via des extensions ou prennent en charge des versions OpenGL ES plus récentes. OpenGL ES 3.2 nécessite RGBA16F pour être rendu et filtrable, et sera automatiquement activé pour un contexte 3.x si le pilote le supporte. Je suppose que votre contexte prend en charge tout ou partie d'OpenGL ES 3.2 (la plupart des nouveaux GPU sur le marché font). – solidpixel
@solidpixel vous devriez avoir raison. Le résultat final diffère sur des matériels spécifiques. – zhy