0 est-il un ID de texture OpenGL valide? [dupliquer]

Cette question a déjà une réponse ici:

glGenTextures(1, &textureid);

En supposant que la texture a été créée avec succès, textureid pourrait-il être 0?

30
demandé sur ThinkingStiff 2009-07-10 13:21:01

4 réponses

La page de manuel pour glGenTextures indique voir aussi glIsTexture ; ce dernier retournera toujours GL_FALSE pour un nom de texture de 0. Donc, 0 ne peut pas être un nom de texture valide.

30
répondu Chris Boyle 2012-08-16 01:57:21

À partir de la spécification OpenGL 3.1 : page 157:

Si un objet de texture est supprimé, comme si toutes les unités de texture objet de texture sont rebond à l'objet de texture zéro.

Il me semble que la texture nommée Zéro est spéciale

11
répondu Christoph 2009-07-10 09:29:00

La bonne façon de vérifier les erreurs dans OpenGL est généralement d'appeler glGetError. Vous pouvez ensuite vérifier les deux conditions d'erreur répertoriées dans la description de glGenTextures. Comme également mentionné, vous pouvez appeler glIsTexture pour vérifier si une texture donnée est valide.

2
répondu Eric 2009-07-10 09:30:06

Absolument pas.

0
répondu Nikolai Ruhe 2009-07-10 09:28:00