private boolean initVertexArray(GL4 gl4) {

    gl4.glGenVertexArrays(1, vertexArrayName, 0);

    gl4.glBindVertexArray(vertexArrayName[0]);
    {
      gl4.glBindBuffer(GL_ARRAY_BUFFER, bufferName[Buffer.F64.ordinal()]);
      gl4.glVertexAttribLPointer(Semantic.Attr.POSITION, 3, GL_DOUBLE, 3 * Double.BYTES, 0);
      gl4.glBindBuffer(GL_ARRAY_BUFFER, 0);

      gl4.glEnableVertexAttribArray(Semantic.Attr.POSITION);
    }
    gl4.glBindVertexArray(0);

    return checkError(gl4, "initVertexArray");
  }