Мне нужен способ визуализации текстуры GL_TEXTURE_EXTERNAL_OES. Я попытался привязать текстуру к фреймбуферу, но получил ошибку GL_INVALID_ENUM. Вот пример кода:
glEnable(GL_TEXTURE_EXTERNAL_OES);
glGenFramebuffersOES(1, &frameBuffer);
glBindFramebufferOES(GL_FRAMEBUFFER, frameBuffer);
glFramebufferTexture2DOES(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_EXTERNAL_OES, outTexHandle, 0); // I get GL_INVALID_ENUM here
// set viewport, uniforms and draw
glBindFramebufferOES(GL_FRAMEBUFFER, 0);
glDisable(GL_TEXTURE_EXTERNAL_OES);
Моя конечная цель - изменить рамку камеры с помощью SurfaceTexture, применив к ней некоторые фильтры. Поэтому моя шейдерная программа имеет как входные, так и выходные те же текстуры GL_TEXTURE_EXTERNAL_OES. Это возможно? Если нет каких-либо обходных решений? Для моего приложения важно, чтобы текстура вывода GL_TEXTURE_EXTERNAL_OES, я не могу использовать текстуру GL_TEXTURE_2D.