문제

다음 목록이 있습니다. QVector3D, 이는 포인트 목록입니다. glDrawArrays.

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), 정점, GL_STATIC_DRAW);

이것은 정확하지만 다음과 같이 constData 외부에서 QVector와 같은 보다 지능적인 컨테이너를 사용하는 것이 좋습니다.

glBufferData(GL_ARRAY_BUFFER, data.size() * sizeof(QVector3D), myVector.constData(), GL_STATIC_DRAW);

사용 방법에 대한 또 다른 공식적인 예는 다음과 같습니다. glBufferData 문맥 상에 QVector3D:

기하학엔진.cpp 예제 파일

공식 예제에 이어 또 다른 타사 예제를 찾을 수 있습니다.

팹스캔100

그런 다음 다음과 같이 작성할 수 있습니다.

glDrawArrays(GL_POINTS, 0, data.size());
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top