Cita de: "Ray"...Una aclaración por un error mio.
Entonces, si el color alfa es 0, los pixels no se dibujan porque el color resultante es:
ColorTextura*0 + ColorFondo*(1 - 0)
....
quiero decir que los pixels si se dibujan, porque como dije antes con alphablending todos los pixels se dibujan, pero se dibujan con el color del fondo por lo que parece que no se dibujan, pero SI se dibujan siempre.
y como dije antes, si usas el test alpha glEnable(GL_ALPHA_TEST), entonces ya si, los pixels con transparencia alpha no se dibujaran en el buffer de color, y por lo tanto tampoco se establecerá un valor en el buffer de profundidad.
Lo mejor para no liarte es que no uses el buffer de profundidad, por lo tanto tienes que quitar:
glEnable(GL_DEPTH_TEST);
y el | GL_DEPTH_BUFFER_BIT de la función clear
y también puedes aparcar el AlphaBlending de momento y usar el AlphaTest en su lugar.