小编use*_*596的帖子

pyopengl缓冲区动态读取numpy数组

我试图在python中编写一个模块,它将绘制一个numpy数组数据(rgb)到屏幕.目前我正在使用这样的三维颜色数组:

numpy.ones((10,10,3),dtype=np.float32,order='F')   # (for 10x10 pure white tiles)
Run Code Online (Sandbox Code Playgroud)

将它绑定到缓冲区并使用a glVertexAttribArray将数据广播到一个tile数组(点精灵)(在这种情况下是一个10x10数组),这适用于静态图像.

但我希望能够更改数组中的数据并让缓冲区反映此更改,而无需从头开始重建.

目前我已经构建了缓冲区:

glBufferData(GL_ARRAY_BUFFER, buffer_data.nbytes, buffer_data, GL_DYNAMIC_DRAW)
Run Code Online (Sandbox Code Playgroud)

其中buffer_data是numpy数组.我可以传递什么(如果有的话)(某些指针可能会进入内存?)

python opengl buffer numpy pyopengl

8
推荐指数
1
解决办法
1275
查看次数

类对象数组中的c ++内存

我有一个这样的课:

class Object {
public: 
    unsigned char data[8];
    // other variables
    // functions etc...
 };
Run Code Online (Sandbox Code Playgroud)

问题是 - 对象成员是否都存储在相对于对象的内存中的相同位置?所以,如果我有一个数组:对象数组[3],给定一个字符指针 char* data_ptr = array[0].data, data_ptr + (sizeof(Object))然后总是指向数组[1] .data?

(我已经阅读了几个关于如何在类和结构的数据成员之间填充填充的Q/As - 但我不认为他们回答了我的问题.)

提前谢谢,本

c++ memory layout class member

5
推荐指数
1
解决办法
1037
查看次数

标签 统计

buffer ×1

c++ ×1

class ×1

layout ×1

member ×1

memory ×1

numpy ×1

opengl ×1

pyopengl ×1

python ×1