我有一个GLKView,它会在上面显示带有纹理的可移动模型。我需要将其混合到同时拍摄的视频中。
要将UI的其他部分混合到视频中,我使用GPUImage框架。因此,当我使用GLKView尝试相同的方法时 - 使用GPUImageUIElement将GLKView混合到视频中。我在行中收到错误 GL错误:0x0502 :
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[] = {....}
如果我的方式正确 - 请帮助我理解我错过的内容。如果我完全错了 - 请帮我正确地做。
感谢。