glDrawArrays(GL_POINTS, 0, 1)
приказывает нарисовать 1 очко, в вашем уроке 1 равно 3:
glDrawArrays(GL_POINTS, 0, 3)
Обратите также внимание, что 4-й (w) компонент ваших вершин должен быть 1, а не 0:
vertexPositions = [0.0, 0.0, 0.0, 1.0,
0.25, 0.0, 0.0, 1.0,
1.75, 1.75, 0.0, 1.0]
Кроме того, вы можете удалить компонент w,
vertexPositions = [0.0, 0.0, 0.0,
0.25, 0.0, 0.0,
1.75, 1.75, 0.0]
и измените следующий вызов на:
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0)
Другое дело, я не эксперт в pyglet, но возможно, что glBufferData, как и его аналог в C, принимает размер в байтах, а не в элементах. Каждый float по 4 байта, вы можете попробовать:
glBufferData(GL_ARRAY_BUFFER, len(vertexPositionsGl)*4, vertexPositionsGl, GL_STATIC_DRAW)