La façon la plus efficace d'initialiser la texture avec des zéros?

J'ai besoin d'initialiser OpenGL 2D texture avec des zéros.

Pourquoi? J'ai rendu à cette texture avec OpenCL. En gros, le rendu étapes sont les suivantes:

  1. Créer RGBA de la texture, de l'initialiser avec des zéros (il contient transparents les pixels noirs)
  2. OpenCL: calcul de la couleur des pixels où certains objets sont visibles et de les écrire dans cette texture
  3. OpenGL: ajouter de l'environnement de la cartographie des pixels transparents et affichage de l'image finale

Je n'ai donc pas besoin de passer toute la texture de données à glTexImage2d. Mais selon la spécification, quand je passe la data=NULL, la texture de la mémoire est allouée mais non initialisé.

Allouer une mémoire côté client remplis de zéros et de passer à glTexImage2D n'est pas une très bonne option, bien que seul je pense.

EDIT: en fait, je veux init seule composante alpha (RVB obtiendrez surchargée de toute façon), mais je doute que cela rendre la situation plus facile.

InformationsquelleAutor jirkamat | 2011-08-25