Hello
in the past I used the alpha value to set the transparence of a color:
gl2.glEnable(GL.GL_BLEND); // Turn Blending On
// set the color red, green, blue , alpha
gl2.glColor4f( color[1], color[2], color[3], color[0] );
this worked well
Now I changed my code and use vbo´s and DrawArrays(…) and it look like the alpha value is ignored.
Do I have to set something special when I create the ColorPointer ?
Thanks
static void vboTestOnlyDrawSeveralQuadStrip(GL2 gl2){
gl2.glEnable(GL.GL_BLEND); // Turn Blending On
//--- turn shade Model Flat On
// eaxh quad is filled with one color defined by the last vertex
gl2.glShadeModel(GL2.GL_FLAT);
for(int i=0; i<vboIndexArray.length/2; i++){
// define which Types of Elements are a allowed
gl2.glEnableClientState( GL2.GL_VERTEX_ARRAY );
gl2.glEnableClientState( GL2.GL_COLOR_ARRAY );
//--- set the vertex pointer
// bind the buffer, from this moment this specific buffer is used
gl2.glBindBuffer(GL2.GL_ARRAY_BUFFER, vboIndexArray[i]);
// Get the Position of the data in the memory
gl2.glVertexPointer(3, GL2.GL_FLOAT, 0, 0);
//--- set the color pointer
// bind the buffer, from this moment this specific buffer is used
gl2.glBindBuffer(GL2.GL_ARRAY_BUFFER, vboIndexArray[i+(vboIndexArray.length/2)]);
gl2.glColorPointer(4, GL2.GL_FLOAT, 0, 0);
// draw the Buffer
gl2.glDrawArrays(GL2.GL_QUAD_STRIP, 0,((intCountOfQuads * 2) + 2));
// unbind the buffer, by using 0
gl2.glBindBuffer(GL2.GL_ARRAY_BUFFER, 0);
// Disable vertex arrays
gl2.glDisableClientState( GL2.GL_COLOR_ARRAY );
gl2.glDisableClientState( GL2.GL_VERTEX_ARRAY );
}
}//end: void vboTestOnlyDrawSeveralQuadStrip(