I will take a short at question number 2:
– You need to know the visible space in the world coordinate. If “frustum”, “camera”, “world coordinate”, “camera coordinate” does not ring a bell for you, then you should probably grab a 3d graphic programming book
. For me personally, this book seems to be very helpful: Mobile 3D Graphics: with OpenGL ES and M3G (The Morgan Kaufmann Series in Computer Graphics) – there is one chapter describing just those terms. Anyway, the frustum is the visible space (any object outside of the frustum is outside the “boundary” of your phone). The problem then is that it is defined in the camera coordinate – you actually needs to know it in the world coordinate. If your camera would not move though, then you would generally wants to set the frustum in some easy way so that you know exactly the frustum in the world space.
- After you know all of the above then the problem is now easy. You just initialize your object outside of the frustum, either on the left or the right of it, and then move it in gradually (like calling “move()” method on the object in onSimpleUpdate() method).