gpt4 book ai didi

ios - 如何在 Qualcomm 样本的帧标记上使用 glDrawArrays() 而不是 glDrawElements()

转载 作者:行者123 更新时间:2023-11-28 23:05:09 24 4
gpt4 key购买 nike

我正在尝试使用我使用 ImageTargets 示例成功显示的相同图像,问题是我的 .h 没有“索引”或 NUM_C_OBJECT_INDEX 类型的常量。

现在,这通常不是问题,因为我会像这样更改代码:

glDrawElements(GL_TRIANGLES, numIndices, GL_UNSIGNED_SHORT, indices);

对于这个:

glDrawArrays(GL_TRIANGLES, 0, vertex);

其中顶点 = myObjectVertices。问题是当我尝试这样做时,我得到了这个错误:

No matching function for call to 'glDrawArrays'

除非我使用:

glDrawArrays(GL_TRIANGLES, 0, myObjectVertices); //so not the variable but the object itself.

这里的问题是,因为在 FrameMarkers 上我可以使用多个渲染器,所以我需要能够分配变量,以便它划定到相应的图像,但我不知道如何解决这个错误,除了使用对象本身是没有用的。有什么想法吗?

我的变量:

const GLvoid* vertices = 0;
const GLvoid* vertex = 0;
const GLvoid* normals = 0;
const GLvoid* indices = 0;
const GLvoid* texCoords = 0;
int numIndices = 0;

例子:

case 1:
vertices = &CobjectVertices[0];
normals = &CobjectNormals[0];
indices = &CobjectIndices[0];
texCoords = &CobjectTexCoords[0];
numIndices = NUM_C_OBJECT_INDEX;
break;
case 2:
vertices = &myObjectVerts[0];
vertex = &myObjectVerts;
normals = &myObjectNormals[0];
texCoords = &myObjectTexCoords[0];
break;

最佳答案

试试这个:

switch (marker->getMarkerId()) {
case 0:
//vertices = &QobjectVertices[0];
vertices = &1Verts[0];
normals = 0;
// indices = &QobjectIndices[0];
texCoords = &1TexCoords[0];
numIndices = NUM_1_INDEX;
quantVertices= 1NumVerts; //Vertices do Número 1
break;
case 1:
//vertices = &CobjectVertices[0];
vertices = &2Verts[0];
normals = 0;
//indices = &CobjectIndices[0];
texCoords = &2TexCoords[0];
numIndices = NUM_2_INDEX;
quantVertices= 2NumVerts; //Vertices do Número 2
break;
}

glDrawArrays(GL_TRIANGLES, 0,quantVertices);

关于ios - 如何在 Qualcomm 样本的帧标记上使用 glDrawArrays() 而不是 glDrawElements(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9436178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com