是否有替代OpenGL索引缓冲区?
我有一个std::vector<glm::vec3>
有很多顶点位置,当我把它们绘制成点时,它们就变成了一个球形网格。所有点都在平面中排序,每个平面具有不同的点数。 Here是网格的图片。
我想连接它们以获得一个坚固的球体。我知道,我可以用索引缓冲区做到这一点,但由于我有710分,我想知道是否有更简单的方法。我看了一下细分,但我认为这不是正确的方法。我只想有线索或想法。我是OpenGL的新手。
答案 0 :(得分:0)
如果您使用
$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017"); $pipeline = [ [ '$match' => [ 'userQueries.queryId' => 'gr591dd6b06149d9.07403049', ], ], [ '$project' => [ 'userQueries' => [ [ '$filter' => [ 'input' => '$userQueries', 'as' => 'query', 'cond' => [ '$eq' => [ '$$query.queryId', 'gr591dd6b06149d9.07403049', ] ], ], ], ], '_id' => 0 ], ], ]; $command = new \MongoDB\Driver\Command([ 'aggregate' => 'users', 'pipeline' => $pipeline ]); $cursor = $mongo->executeCommand('genenames', $command);
(而不是glDrawElements)你应该能够在没有索引缓冲区的情况下进行绘制。但是,您的顶点需要进行排序以使其有效,即三个连续的顶点始终必须构建球体的一个三角形。因此,您需要将顶点多次发送到图形卡,一次针对它们所在的每个三角形。这通常在第一个教程中介绍,例如在opengl-tutorials.org上 (这也是我从中得到代码的地方)。 但是,这也会导致您指出&#34;指定&#34;你不能解决的三角形,因为OpenGL并不知道&#34;如Ripi2已经提到的那样如何连接顶点