我试着把整个二维的三角形场景放进窗户里。我正在使用一个着色程序来处理绘制三角形。我只是我期望看到的900个三角形中的一小部分。但是,当我使用不推荐的OpenGL API来绘制类似场景中的方块时,它的工作方式与预期的一样。
它必须有一些与MVP矩阵,我要传递到顶点着色。请参阅paintGL()模块中的scene.cpp方法。这就是我在绘制三角形之前设置glViewport和mvpMatrix的地方。
我已经概述了我在下面所做的工作。
工具
设置
问题
下面是三角形演示的屏幕截图。
三角形演示源:
paintGL方法。什么起作用了
我发现,使用不推荐的OpenGL API,使用GL_QUADS绘制正方形,可以完成我正在寻找的任务。但是,我想使用着色器。
下面是正方形演示的屏幕截图。在1M×1M的场景中,它是由10×10正方形组成的网格。
正方形演示源:
发布于 2018-09-03 03:11:27
我找到窃听器了。那是在triangles.cpp,我在那里分配VBO。我用错字节计数了。
改变:
_vertexBuffer.allocate(_vertexes, _vertexCount);至:
_vertexBuffer.allocate(_vertexes, _vertexCount * sizeof(QVector3D));解决了这个问题。
https://stackoverflow.com/questions/52142158
复制相似问题