繁体   English   中英

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

[英]How can I create and use a Vertex Buffer Object in Pyglet using a Numpy array containing vertex positions?

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

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

[x1,y1,x2,y2,x3,y3;
 x4,y4,x5,y5,x6,y6;
....]

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

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

找到了一个带有最小示例的网站,检查了回溯机器,它始于2015年: https : //sites.google.com/site/swinesmallpygletexamples/vbo-triangle

使用Python 2.7.5和Pyglet 1.2.3进行测试的代码-可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM