title: Why do I need to call glClear in drawInRect?
body: <p>I have a simple GLKViewController where i made the screen white:</p>
  
  <pre><code>- (void)viewDidLoad {
      [super viewDidLoad];
  
      self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
  
      GLKView *view = (GLKView *)self.view;
      view.context = self.context;
  
      [EAGLContext setCurrentContext:self.context];
  
      glClearColor(1, 1, 1, 1);
      glClear(GL_COLOR_BUFFER_BIT);
  }
  
  - (void)glkView:(GLKView *)view drawInRect:(CGRect)rect {
  }
  </code></pre>
  
  <p>This doesn't work, however.</p>
  
  <p>But, if I move the glClear call to drawInRect, then it works:</p>
  
  <pre><code>- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect {
      glClear(GL_COLOR_BUFFER_BIT);
  }
  </code></pre>
  
  <p>Why is that? Why must glClear be called in drawInRect but glClearColor not?</p>