skybox.reparent_to(base.render)

    mesh = Surface("Earth")
    mesh.set_textures(database["textures"])
    mesh.set_scale(6371)
    pos = 6371 + 9000
    mesh.set_pos(Point3(0, pos, 0))
    render_pipeline.setEffect(mesh.node_path, "Effects/Earth.effect")
    mesh.reparent_to(base.render)

    sun_light = DirectionalLight()
    sun_pos = Vec3(10000, pos, 0)
    sun_light.setSunDistance(20000)
    sun_light.setPos(sun_pos)
    sun_light.setPssmTarget(base.cam, base.camLens)
    sun_light.setColor(Vec3(1.0))
    sun_light.setShadowMapResolution(2048)
    sun_light.setCastsShadows(True)
    render_pipeline.addLight(sun_light)

    scattering = render_pipeline.getScattering()
    scattering.adjustSetting("atmosphereOffset", Vec3(0, pos, 0))
    scattering.adjustSetting("atmosphereScale", Vec3(1.0))
    render_pipeline.setScatteringSource(sun_light)

    controller = MovementController(base)
    controller.setup()

    base.accept("f3", toggleSceneWireframe)
    render_pipeline.reloadShaders()
    render_pipeline.onSceneInitialized()