
//--useful bit
//gl.getParameter
 - console.log("gl.color", gl.getParameter(gl.COLOR_CLEAR_VALUE))

- Vertices are the points that define the corners of 3D objects. Each vertex is represented by
three floating-point numbers that correspond to the x, y, and z coordinates of the vertex. 

- Indices are numeric labels for the vertices in a given 3D scene

There are two kind of WebGL buffers used to describe and process geometry:
Buffers that contain vertex data are known as Vertex Buffer Objects (VBOs).
Similarly, buffers that contain index data are known as Index Buffer Objects
(IBOs).


Vertex Buffer Objects (VBOs)
VBOs contain the data that WebGL requires to describe the geometry that is going to be
rendered. As mentioned in the introduction, vertex coordinates are usually stored and
processed in WebGL as VBOs. Additionally, there are several data elements such as vertex
normals, colors, and texture coordinates, among others, that can be modeled as VBOs.

The framebuffer is the final destination of the rendering pipeline.

//--
we will point a vertex shader attribute to the VBO that we created in the previous step to store vertex coordinates.
//-- The above line show that we can create other buffers to store more data about vertices and also point it to an attrib.

Finally, we will use the IBO to perform the rendering

Please observe that vertex coordinates can be float, but indices are always
integer. Therefore, we will use Float32Array for VBOs and UInt16Array
for IBOs throughout the examples of this book.

Finally, it is a good practice to unbind the buffer. We can achieve that by calling the following instruction:
gl.bindBuffer(gl.ARRAY_BUFFER, null);

//-- gl.ARRAY_BUFFER is one-global buffer that is bound to some VBO (which is obtained from gl and is filled with vertex data from vertices [])
///////////////////////
The WebGL function that allows pointing attributes to the currently bound VBOs is
vertexAttribPointer. The following is its signature:
gl.vertexAttribPointer(Index,Size,Type,Norm,Stride,Offset);