glBuffers & glVertexPtrs

glBuffers & glVertexPtrs

1、glBuffers使得数据可以存储在显示存中。

  GLuint VBO;

  glGenBuffers(1, &VBO);

  glBindBuffer(GL_ARRAY_BUFFER, VBO);

  glBufferData(GL_ARRAY_BUFFER, sizeof(Vertices), Vertices, GL_STATIC_DRAW);

2、非shader环境里,glVertexPointer用来把数据告知给GL。在shader环境时里,需要使用glVertexAttribPointr。

  glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); 比glVertexPointer多一个index(第一个参数)

  通过draw-call来绘制命令。

  glDrawArrays(GL_POINTS, 0, 1);

  glDisableVertexAttribArray(0);

参考:http://ogldev.atspace.co.uk/www/tutorial02/tutorial02.html

原文地址:https://www.cnblogs.com/tekkaman/p/3929600.html