OpenGL ES is similarCode:
1) create three vertices
PrivateIntbuffer triggerbuffer = intbuffer. Wrap (New Int[] {
0, One,0,
-One,-one,0,
One,-one,0,
});
2) use triggerbuffer to draw the vertex
Example: Gl. glvertexpointer (3, gl10.gl _ fixed, 0, triggerbuffer );
Must use a native order direct buffer error often occurs.
Solution: (create a method)
/*
* OpenGL is a very underlying drawing interface. Its buffer storage structure is consistent with our Java Program .
* Java uses bigedian, while OpenGL uses littleedian ).
* Therefore, we need to do some work when converting the Java buffer to the buffer zone available for OpenGL. The following describes how to create a buff:
**/
Public buffer bufferutil (INT [] ARR ){
Intbuffer mbuffer;
// Initialize the buffer first. The array length is * 4, because an int occupies 4 bytes.
Bytebuffer qbb = bytebuffer. allocatedirect (ARR. length * 4 );
// Nativeorder is used for Array Arrangement
Qbb. Order (byteorder. nativeorder ());
Mbuffer = qbb. asintbuffer ();
Mbuffer. Put (ARR );
Mbuffer. Position (0 );
Return mbuffer;
}
Next (also two steps ):
1) use an int array to create a vertex
PrivateInt [] triggerbuffer =New Int[] {
0, One,0,
-One,-one,0,
One,-one,0,
};
2) use Arrays
Gl. glvertexpointer (3, gl10.gl _ fixed, 0, bufferutil (triggerbuffer );