的向量問題 我有指針到顆粒載體:OpenGL的數組緩衝區從指針
struct Particle {
vec3 pos; // just 3 floats, GLM vec3 struct
// ...
}
std::vector<Particle *> particles;
我想用這個矢量作爲數據的用於在OpenGL 像陣列緩衝器中的源這樣的:
glGenBuffers(1, &particleBuffer);
glBindBuffer(GL_ARRAY_BUFFER, particleBuffer);
int bufferSize = sizeof(Particle) * particles->size();
glBufferData(GL_ARRAY_BUFFER, bufferSize, /* What goes here? */, GL_STATIC_DRAW);
glEnableVertexAttribArray(positionAttribLocation);
glVertexAttribPointer(positionAttribLocation, 3, GL_FLOAT, GL_FALSE, sizeof(Particle), (void *)0);
凡有趣的線glBufferData(...)
^h我是否得到OpenGL來獲取數據是指針?
「***問題:**我有一個指向粒子的向量向量:*」:解決方案:停止使用指向粒子的向量向量;但嚴重的是,不要這樣做。而不僅僅是因爲OpenGL不適用於這樣的間接數據結構。 –
我想這可能有用嗎? http://stackoverflow.com/questions/2923272/how-to-convert-vector-to-array-in-c – domsson