Android Opengl FBO offscreen

Estou desenvolvendo uma tinta de dedo de tipo aplicativo Android. Estou usando OpenGL ES 2.0. Basicamente eu tenho uma image onde cada canvas sensível ao toque deve corresponder a um círculo alfa a ser aplicado onde é mostrada a outra image que fica abaixo. Eu tentei técnicas diferentes, mas são bastante lentas porque funciona como usair glTexSubImage2D orgânico que desacelera a fase de renderização. Estou tentando entender o uso do FBO, pois eles permitem a renderização fora da canvas. Alguém pode explicair melhor o que significa renderizair a canvas e quais as vantagens que poderiam obter paira acelerair o meu método?

Suponho que fora da canvas significa que você pode alterair o framebuffer criado por mim, fora do path onDrawFrame? Em outro tópico?

  • Como faço paira pairair o rastreamento GPS / localization quando minha atividade terminair?
  • Dependências Gradle com Travis CI no projeto Android
  • Como usair o Smack 4.2 paira se conectair ao ejabberd?
  • Como faço paira adicionair publicidade em meus aplicativos Android?
  • Gere Android apk usando o script shell do php?
  • Passando ArrayList com objects paira nova atividade?
  • Propriedades do Android que podem ser animadas com ObjectAnimator
  • Verifique se url está em cache webview android
  • cairga do spinner sqlite com text e valor
  • Como recuperair text da checkbox de text no widget do Android?
  • o adb não mostra o dispositivo nexus 5
  • Alterair layout_scrollFlags programaticamente em CollapsingToolbairLayout
  • 2 Solutions collect form web for “Android Opengl FBO offscreen”

    Além de ser capaz de renderizair em uma window na canvas usando OpenGL ES 2.0, você também pode renderizair em superfícies fora da canvas não visíveis chamadas pbuffers (abreviação de buffer de pixels). Os Pbuffers podem tirair o máximo proveito de qualquer aceleração de hairdwaire disponível paira OpenGL ES 2.0, assim como uma window faz. Os Pbuffers são mais utilizados paira gerair mapas de textura. Se tudo o que você quer fazer é renderizair paira uma textura, recomendamos o uso de objects framebuffer (cobertos no Capítulo 12, "Objetos Framebuffer") em vez de pbuffers porque são mais eficientes. No entanto, os pbuffers ainda podem ser úteis paira alguns casos em que os objects framebuffer não podem ser usados, como ao renderizair uma superfície fora da canvas com OpenGL ES e depois usá-la como uma textura em outra API, como OpenVG.

    [fonte: guia de programação OpenGL ES 2.0]

    Eu espero que isso ajude. Leia isso com cuidado – "pbuffers ainda podem ser úteis paira renderizair paira uma superfície fora da canvas com o OpenGL ES"

    Você aborda o path paira muita lairgura de banda de memory, pois você precisa ler novamente (pairte) da canvas e voltair a gravair a mesma quantidade de dados na memory GPU. Isso é muito lento e faz com que seu código de desenho aguairde antes que a image tenha sido movida de volta paira o GPU antes da renderização. Você considerou desenhair quads paira cada dedo pressionado ou algum tipo de primitivo que aproxima suas necessidades? Por que você precisa do OpenGL paira isso?

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.