title: NullPointerException? Not sure why. LIBGDX
body: <p>I keep getting a <code>NullPointerException</code> on line 39, which is 
  <code>modelBatch.begin(cam);</code></p>
  
  <p>I have no idea as to why it's doing this. If you notice why, please tell me. I've been struggling with this problem all day now. I am new to android development, and am prone to making silly mistakes. Thank you for your help.</p>
  
  <pre><code>public class Loading implements Screen {
  
  private boolean AP;
  private Chemistry chemistry;
  public PerspectiveCamera cam;
  public ModelBatch modelBatch;
  public Model model;
  public ModelInstance instance;
  public Lights lights;
  
  public Loading(boolean AP, Chemistry chemistry) {
      this.AP = AP;
      this.chemistry = chemistry;
  }
  
  @Override
  public void render(float delta) {
      Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(),
              Gdx.graphics.getHeight());
      Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
  
      modelBatch.begin(cam);
      modelBatch.render(instance, lights);
      modelBatch.end();
  }
  
  @Override
  public void resize(int width, int height) {
  }
  
  @Override
  public void show() {
              modelBatch = new ModelBatch();
      lights = new Lights();
      lights.ambientLight.set(0.4f, 0.4f, 0.4f, 1f);
      lights.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f,
              -0.2f));
  
      cam = new PerspectiveCamera(70, Gdx.graphics.getWidth(),
              Gdx.graphics.getHeight());
      cam.position.set(10f, 10f, 10f);
      cam.lookAt(0, 0, 0);
      cam.near = 0.1f;
      cam.far = 300f;
      cam.update();
  
      ModelBuilder modelBuilder = new ModelBuilder();
      model = modelBuilder.createBox(5f, 5f, 5f,
              new Material(ColorAttribute.createDiffuse(Color.GREEN)),
              Usage.Position | Usage.Normal);
  
      instance = new ModelInstance(model);
  
  }
         ...
  }
  </code></pre>