Graphics Programs Reference
In-Depth Information
Types of Buffer Objects
There are two types of vertex buffer objects— array buffer objects and element array
buffer objects . The array buffer objects are used to cache the per-vertex data, such as
vertices {x, y, z} , colors {r, g, b, a} , normals {Nx, Ny, Nz} , and so
on, and the element array buffer objects are used to cache the corresponding indices
of these arrays.
Using Buffer Objects
To use buffer objects, we first need to generate them. To do this, call the method
GLES20.glGenBuffers . This method has two overloaded versions. The one we
use here takes three arguments:
▪ The first argument specifies the number of buffer objects that
must be generated.
▪ The second argument specifies the array to store the returned (in-
teger) ids, representing objects. Please note that the id “0” is re-
served by OpenGL ES.
▪ The third argument specifies the offset of type int . For all ex-
amples discussed, we set this argument to “0”, meaning “no-off-
set”.
After generating buffer object(s), call the method GLES20.glBindBuffer . This
method is used to make a buffer object the current array buffer object or the current
element array buffer object .
So, depending on the use of the buffer object, the first argument passed to this
method is either GLES20.GL_ARRAY_BUFFER or
GLES20.GL_ELEMENT_ARRAY_BUFFER . The second argument passed to this
method is the id of the buffer object, as shown in Listing 5-1 . Here,
_tankBuffers is an int array of size 2. The size is 2, because we need two buf-
fer objects.
 
Search WWH ::




Custom Search