No source, no video
But. It's actually really easy.
Create a grid in Blender...I used 128x128 for the first test.
Create a .png in whatever you like...GIMP for me. 256x256.
Load them both in AppGameKit, copy them both into memblocks.
Display the object, use raycasting/collision detection to find out where on the mesh the mouse is. Index into the Memblock based on the x,z position and raise/lower vertices as needed (I do it based on "power" which impacts how big an area to raise/lower as well as the falloff of the effect.
When you're editing the mesh, save the Memblock back to the object...this does cause a FPS hit (I go down to around 25FPS)
Index into the image to paint the image. Update the image and update the object image when that changes...this has little impact to my FPS.
Save the memblock and image as desired after editing
I'm using an array of 8 sets of these items as well as some tricky code that lets me paint textures onto the image (which is much larger now to get the level of detail I want...start small though).
The hardest part was figuring out how to index into the memblock as the commands seem a bit buggy right now. All of the (x*128+y)*4 etc, lining that up with how the texture is placed over the object...yuck. Oh, and calculating the normals dynamically. Which, by the way, I will admit that I do in a relatively stupid way that still gives me great FPS. I actually do raycasts around each impacted vertex and average the normals returned instead of the purely mathematical methods that one can use.
Born. Currently living.