3

我有一个 GLKView,它展示了带有纹理的可移动模型。我需要将它混合到同时捕获的视频中。

要将 UI 的其他部分融合到视频中,我使用 GPUImage 框架。因此,当我使用 GLKView 尝试相同的方法时 - 使用 GPUImageUIElement 将 GLKView 混合到视频中。我得到错误GL ERROR: 0x0502 in line:

glDrawElements(GL_TRIANGLES, sizeof(shapeTriangles)/sizeof(shapeTriangles[0]), GL_UNSIGNED_BYTE, 0);

在我的 CADisplayLink 目标程序中:

- (void)render:(CADisplayLink*)displayLink 
{    
    glClear(GL_COLOR_BUFFER_BIT);

    glBufferData(GL_ARRAY_BUFFER, sizeShapeVertices, NULL, GL_DYNAMIC_DRAW);
    glBufferSubData(GL_ARRAY_BUFFER, 0, sizeShapeVertices, shapeVertices);

    [_baseEffect prepareToDraw];

    glDrawElements(GL_TRIANGLES, sizeof(shapeTriangles)/sizeof(shapeTriangles[0]), GL_UNSIGNED_BYTE, 0);

    [_context presentRenderbuffer:GL_RENDERBUFFER];
}

, 在哪里

GLubyte faceShapeTriangles[] = {....}

如果我走对了 - 请帮助我了解我错过了什么。如果我完全错了 - 帮助我以正确的方式去做。

谢谢。

4

0 回答 0