2017-07-13 6 views
0

J'essaie de charger une texture avec des tailles non-power-of-two (NPOT) dans mon application qui utilise la bibliothèque OGLPlus. Donc, j'utilise images :: Image pour charger une image en tant que texture. Lorsque j'appelle la fonction Context::Bound pour définir la texture, une exception est générée. Lorsque la taille de l'image d'entrée est POT, cela fonctionne bien.Existe-t-il un équivalent pour la fonction gluScaleImage?

J'ai vérifié le code source de OGLPlus et il semble qu'il utilise la fonction glTexImage2D. Je sais que je peux utiliser gluScaleImage pour mettre à l'échelle mon image d'entrée, mais il est daté et je veux l'éviter. Y a-t-il des fonctions dans les bibliothèques plus récentes comme GLEW ou OGLPLUS avec la même fonctionnalité?

Répondre

0

Il a été 13 ans (OpenGL 2.0) depuis que la restriction de la puissance de deux sur les tailles de texture a été levée. Il suffit de charger la texture avec glTexImage et, si nécessaire, générer les mipmaps avec glGenerateMipmap.

+0

J'ai modifié la question pour fournir plus de détails. – Hamed

+0

@Hamed: L'idée de mettre à l'échelle les textures à power-of-two est aussi datée que 'gluScaleImage'. 'glTexImage2D' supporte déjà les textures sans puissance de deux. Si cela ne fonctionne pas, il doit y avoir un problème ailleurs, peut-être dans votre code, peut-être dans OGLPlus (jamais utilisé, et je ne comprends même pas pourquoi avez-vous besoin de cette ordure). S'il vous plaît montrer les parties pertinentes de votre code, quelle exception obtenez-vous, et d'où il provient. – ybungalobill