Jump to content

  • Log In with Google      Sign In   
  • Create Account

Tom Pennetta

Member Since 20 Feb 2012
Offline Last Active Feb 21 2012 04:05 PM

Topics I've Started

Android: OpenGL Finger Paint App

20 February 2012 - 08:28 PM

Hi all,

First post for me, hopefully I can explain this fully and clearly.

I am creating a fingerpaint style application for the Android OS. I am targeting OS version 2.2 for backwards compatbility, but has full support for OpenGL ES 1.1 and 2.0. The application will draw using a greyscale brush, similar to Photoshop brush drawing.

When I started writing the application, I tried using the OS native Canvas and SurfaceView to draw to the screen where the finger has been depressed or dragged, however the framerate is too slow and the drawing is choppy.

I switched to OpenGL and I am running into a methodology issue related directly to my inexperience with OpenGL. When my finger is pressed I have a quad drawn to the location of where the finger is depressed no problem. However, when I click a new location or drag, the quad with the texture of the brush used to draw is moving not being added to the scene (which makes sense as it is a quad object which is just changing its X and Y).

I don't see it efficient to create many of these quad objects as the more drawing the more efficiency loss and just bad design pattern.

The only thing I can think of is after every draw to take the whole screen and draw it to an offscreen buffer and re-draw it on next paint.

I have no clue if this is the right way to go about doing it, but any insight on this would be greatly appreciated. The more details the better as if I knew nothing of OpenGL (which is close to true).