How to configure background image to be at the bottom OpenGL Android
- by Maxim Shoustin
I have class that draws white line:
public class Line {
//private FloatBuffer vertexBuffer;
private FloatBuffer frameVertices;
ByteBuffer diagIndices;
float[] vertices = {
-0.5f, -0.5f, 0.0f,
-0.5f, 0.5f, 0.0f
};
public Line(GL10 gl) {
// a float has 4 bytes so we allocate for each coordinate 4 bytes
ByteBuffer vertexByteBuffer = ByteBuffer.allocateDirect(vertices.length * 4);
vertexByteBuffer.order(ByteOrder.nativeOrder());
// allocates the memory from the byte buffer
frameVertices = vertexByteBuffer.asFloatBuffer();
// fill the vertexBuffer with the vertices
frameVertices.put(vertices);
// set the cursor position to the beginning of the buffer
frameVertices.position(0);
}
/** The draw method for the triangle with the GL context */
public void draw(GL10 gl) {
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(2, GL10.GL_FLOAT, 0, frameVertices);
gl.glColor4f(1.0f, 1.0f, 1.0f, 1f);
gl.glDrawArrays(GL10.GL_LINE_LOOP , 0, vertices.length / 3);
gl.glLineWidth(5.0f);
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
}
}
It works fine. The problem is: When I add BG image, I don't see the line
glView = new GLSurfaceView(this); // Allocate a GLSurfaceView
glView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
glView.setRenderer(new mainRenderer(this)); // Use a custom renderer
glView.setBackgroundResource(R.drawable.bg_day); // <- BG
glView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
glView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
How to get rid of that?