add camera
improve shader management
add room