This is the Android java source code that accompanies the bitlush article: http://www.bitlush.com/posts/arbitrary-quadrilaterals-in-opengl-es-2-0
Demonstrates non-affine texture mapping of sprites using a projective transformation represented in homogeneous coordinates.