Documentation de Gambas - /comp/gb.opengl/gl/geterror

/comp/gb.opengl/gl/geterror

# Gl.GetError (gb.opengl)

Static Function GetError ( ) As Integer

Retourne l’information d’erreur

### Description

Gl.GetError retourne la valeur du drapeau erreur. A chaque erreur détectable est assigné un code numérique et un nom symbolique. Quand une erreur se produit, le drapeau erreur reçoit la valeur appropriée de code d’erreur. Aucune autre erreur n’est enregistrée jusqu’à ce que Gl.GetError soit appelé, que le code erreur soit retourné, et le drapeau réinitialisé à Gl.NO_ERROR. Si un appel à Gl.GetError retourne GL.NO_ERROR, il n’y a pas eu d’erreur détectable depuis le dernier appel à Gl.GetError, ou depuis que GL a été initialisé.

Pour permettre des implémentations distribuées, il peut y avoir plusieurs drapeaux d’erreurs. Si un quelconque drapeau erreur a enregistré une erreur, la valeur de ce drapeau est retournée et le drapeau est remis à Gl.NO_ERROR quand Gl.GetError est appelé. Si plus d’un drapeau a enregistré une erreur, Gl.GetError retourne et efface la valeur d’un drapeau erreur au hasard. Aussi, Gl.GetError doit toujours être appelé en boucle, jusqu'à ce qu’il retourne Gl.NO_ERROR, si tous les drapeaux erreurs doivent être réinitialisés.

Initialement, tous les drapeaux d’erreurs sont mis à GL.NO_ERROR.

Les erreurs suivantes sont actuellement définies :

Gl.NO_ERROR

  Aucune erreur enregistrée. La valeur de cette constante symbolique est garantie égale à zéro.

Gl.INVALID_ENUM

  Une valeur inacceptable est spécifiée pour un for argument énuméré. La commande en cause est ignorée, sans autre effet de bord que de positionner le drapeau erreur.

Gl.INVALID_VALUE

  Un argument numérique est hors limites. La commande en cause est ignorée, sans autre effet de bord que de positionner le drapeau erreur.

Gl.INVALID_OPERATION

  L’opération spécifiée n’est pas autorisée dans l’état actuel. La commande en cause est ignorée, sans autre effet de bord que de positionner le drapeau erreur.

Gl.INVALID_FRAMEBUFFER_OPERATION

  L'objet tampon de trame n'est pas complet. La commande en cause est ignorée, sans autre effet de bord que de positionner le drapeau erreur.

Gl.OUT_OF_MEMORY

  Il n'y a pas assez de mémoire disponible pour effectuer la commande. A part l'état des fanions erreur, l'état de GL est indéfini une fois cette erreur rapportée.

Quand un drapeau erreur est positionné, les résultats d’une opération GL ne sont indéfinis que si GL.OUT_OF_MEMORY s’est produite. Dans tous les autres cas, la commande qui a généré l’erreur est ignorée et n’a pas d’effet sur l’état de GL et le contenu du tampon de trame. Si la commande qui l'a généré retourne une valeur, elle retourne 0. Si Gl.GetError elle même retourne une valeur, elle retourne 0.

Voir la documentation originale sur le site web OpenGL