QVector3DでOpenGLでポイントを描画します
質問
QVector3D
のリストを持っています。これはポイントのリストである。
initializeGLFunctions();
glGenBuffers(2, vbo);
//the vertices
QVector3D *vertices = &data[0];
glBindBuffer(GL_ARRAY_BUFFER, vbo[0]);
glBufferData(GL_ARRAY_BUFFER, data.size() * sizeof(QVector3D), vertices, GL_STATIC_DRAW);
glDrawArrays(GL_POINTS,??);
.
またはこれに対処するために使用できるその他の方法は?
解決
glbufferData(gl_array_buffer、data.size()* sizeof(qvector3d)、vertices、gl_static_draw);
これは正しいですが、次のようにQVectorのようなQVectorのようなよりインテリジェントなコンテナを使用することをお勧めします。
glBufferData(GL_ARRAY_BUFFER, data.size() * sizeof(QVector3D), myVector.constData(), GL_STATIC_DRAW);
.
これは、glBufferData
のコンテキストでQVector3D
を使用するための別の公式の例です。
ここで、公式の例の後に別のサードパーティの例を見つけることができます:
glDrawArrays(GL_POINTS, 0, data.size());
. 所属していません StackOverflow