使用QVector3D在OpenGL中绘制点
Draw points in OpenGL with QVector3D
我有一个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);
以下是如何在QVector3D
的上下文中使用glBufferData
的另一个官方示例:
geometryengine.cpp示例文件
在这里,你可以找到另一个第三方的例子继官方的例子:
FabScan100
然后,你可以写:
glDrawArrays(GL_POINTS, 0, data.size());
相关文章:
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 在现代OpenGL中,绘制GL_TRIANGLE奇怪的z轴行为的填充圆
- OpenGL 着色器不绘制任何东西 - 糟糕的精灵类
- 如何在 3D OpenGL 场景上绘制 SDL 2D 矩形?
- C++ OpenGL 中,绘制形状返回错误
- OpenGL绘制三角形而不是正方形
- 如何使用 mvp 在 opengl 中绘制椭圆
- OpenGL ES 2.0将纹理绘制到屏幕上是行不通的
- Opengl 和 c++ 绘制多个立方体
- 在另一个线程中绘制 OpenGL
- 使用纹理,法线和索引列表从VBO绘制OpenGL对象的问题
- 在3.2中使用VAO和VBO绘制OpenGL线条和正方形
- 用VBO绘制OpenGL图形
- 多对象绘制(OpenGL)
- 如何在Qt 5.7中使用glew绘制OpenGL几何图形
- SFML绘制OpenGL到多个窗口的速度非常慢
- 多次绘制Opengl纹理