I'm working on a project that requires user generated images to be applied to various 3D models (mugs, t-shirts etc). I've explored numerous applications, (Pyglet, Blender, Panda to name a few), and am looking for ideas / guidance as to the best approach.
Appears to me that the world of 3D modelling has quite a steep learning curve (looking at you GL), just looking to invest my time wisely.
Thoughts?
In the case where you're interested in replacing textures on-the-fly, you should render your objects as UV maps. 
UV maps specify the pixel offset within the texture so that once a texture is chosen, it is a simple process of table lookup for filling in the texture. 
You might consider rendering at double the resolution and after applying reduce the image size. This will anti-alias any discontinuities.
Looking for advice on applying textures to 3D models at run time