GPUImage и Сифон

Я реализовал сифонный сервер в приложении GPUImage. Однако он создает треугольную область, как видно на прилагаемом изображении.

Кто-нибудь может сказать, что не так, глядя на изображение? сифонный глюк

Или код?

  1. В MyView # viewDidLoad

    NSOpenGLContext * ctx = [[GPUImageContext sharedImageProcessingContext] context]; syphonServer = [[SyphonServer alloc] initWithName: @ "MyServer" контекст:ctx.CGLContextObj параметры:[NSDictionary dictionaryWithObject:SyphonImageFormatRGBA8 forKey:SyphonServerOptionImageFormat]];

  2. В конце myFilter # renderToTextureWithVertices

    [myServer publishFrameTexture: [firstInputFramebuffer texture] textureTarget: GL_TEXTURE_RECTANGLE_EXT imageRegion: NSMakeRect (0, 0, size.width, size.height) textureDimensions: size flipped: YES];

Спасибо за вклад.

1 ответ

Моя гипотеза состоит в том, что две вещи неправильны:

  1. Вы не очищаете задний буфер перед рисованием текстуры, что приводит к искаженному тексту, который вы видите.
  2. Нарисованный вами полноэкранный прямоугольник использует неправильные индексы для второго треугольника. Если пронумерованы 0, 1, 2, 3 (по часовой стрелке, начиная с левого верхнего угла), это выглядит как индексы [0, 1, 3] и [0, 2, 3] вместо [0, 1, 3] и [1, 3, 2].
Другие вопросы по тегам