world now takes terrain and normalmap as arguments