GPUImage и Сифон
Я реализовал сифонный сервер в приложении GPUImage. Однако он создает треугольную область, как видно на прилагаемом изображении.
Кто-нибудь может сказать, что не так, глядя на изображение?
Или код?
В MyView # viewDidLoad
NSOpenGLContext * ctx = [[GPUImageContext sharedImageProcessingContext] context]; syphonServer = [[SyphonServer alloc] initWithName: @ "MyServer" контекст:ctx.CGLContextObj параметры:[NSDictionary dictionaryWithObject:SyphonImageFormatRGBA8 forKey:SyphonServerOptionImageFormat]];
В конце myFilter # renderToTextureWithVertices
[myServer publishFrameTexture: [firstInputFramebuffer texture] textureTarget: GL_TEXTURE_RECTANGLE_EXT imageRegion: NSMakeRect (0, 0, size.width, size.height) textureDimensions: size flipped: YES];
Спасибо за вклад.
1 ответ
Моя гипотеза состоит в том, что две вещи неправильны:
- Вы не очищаете задний буфер перед рисованием текстуры, что приводит к искаженному тексту, который вы видите.
- Нарисованный вами полноэкранный прямоугольник использует неправильные индексы для второго треугольника. Если пронумерованы 0, 1, 2, 3 (по часовой стрелке, начиная с левого верхнего угла), это выглядит как индексы [0, 1, 3] и [0, 2, 3] вместо [0, 1, 3] и [1, 3, 2].