質問

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を使用するための別の公式の例です。

geometerengine.cpp例ファイル

ここで、公式の例の後に別のサードパーティの例を見つけることができます:

fabscan100

それでは、あなたは書くことができます:

glDrawArrays(GL_POINTS, 0, data.size());
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top