Мне нужно изменить детали из текстуры, но для того, чтобы быть в курсе текущих данных текстуры вместо их замены.OpenGL/OpenGL ES update texture
Я попытался использовать glTexSubImage2D
, но он заменяет текущие данные, не давая мне возможности указать какую-либо операцию между текущими данными и новыми данными.
Одно решение пустошь быть кэшировать данные текстуры в памяти и сделать операцию смешивания перед использованием glTexSubImage2D
и использовать glTexSubImage2D
с результатом, но это будет просто тратить память ...
Есть ли функция, общие для обоих настольные OpenGL и OpenGL ES 2.0, которые позволят мне это сделать?
Возможно, вы можете загрузить текущую текстуру как текстуру для шейдера, а также новую текстуру, выполнить операцию, используя оба из них, и вывести ее на 'gl_FragColor' – Fonix
@Fonix. Мне нужно часто обновлять текстуру. Я рисую. – Felics
Вы должны уметь назначать PBO в качестве рендеринга, выполнять смешение с помощью обычного рендеринга OpenGL, а затем связывать его как источник пикселя и создавать из него текстуру. –