如何使用包含顶点位置的Numpy数组在Pyglet中创建和使用顶点缓冲区对象?

时间:2015-06-23 03:39:12

标签: python opengl pyglet

我有一个numpy数组,其中包含我要渲染的多个三角形的顶点集。顶点位置不断更新。

顶点以下列格式存储在numpy数组中:

$query = $this->db->query("SELECT * FROM states");
$result = $query->result_array();
return $result;

每行包含单个三角形的顶点。

1 个答案:

答案 0 :(得分:0)

如果要更新顶点,则需要使用顶点缓冲对象(VBO)。显示列表更快,但一旦制作,您就无法更改顶点。请记住,当您更新VBO时,图形卡会将整个VBO从PC的内存复制回其内存中。总线(内存到GPU内存)是当时的瓶颈。因此,当您不经常更新时,您的游戏会跑得更快。

找到一个网站,其中包含一个最小的示例,已检查的返回机器及其从2015年开始: https://sites.google.com/site/swinesmallpygletexamples/vbo-triangle

使用Python 2.7.5和Pyglet 1.2.3测试代码 - 有效。