Im trying to display some dots on the screen with opengl es. here is the ondraw code:
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glColor4f(0, 255, 0, 0);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, buffer);
gl.glDrawArrays(GL10.GL_POINTS, 0, points.length);
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
Can someone tell me what I'm doing wrong?
EDIT: code for creating a buffer and points
points = new float[12288];
int pos = 0;
for (float y = 0; y < 64; y++) {
for (float x = 0; x < 64; x++) {
points[pos++] = x/100;
points[pos++] = y/100;
points[pos++] = 0;
}
}
ByteBuffer vertexByteBuffer = ByteBuffer.allocateDirect(points.length * 4);
vertexByteBuffer.order(ByteOrder.nativeOrder());
buffer = vertexByteBuffer.asFloatBuffer();
buffer.put(points);
buffer.position(0);
and error in logcat:
04-17 06: 38: 11.296: A / libc (24276): fatal signal 11 (SIGSEGV) at 0x41719000 (code = 2)
This error occurs in gl.glDrawArrays
source
share