3D looks better when using lights(); after background in draw
Anyway code looks good.
Does it work? When you press UP?
An animation would be possible when you have an angle variable that you use with rotateY and then say angle += 0.21; when rotate is true
This animation could stop when angle reached HALF_PI or a maximum value that would be increased by 1 every time UP is hit