Beispiel #1
0
/* \brief update the camera stack after window resize */
void _glhckCameraWorldUpdate(int width, int height)
{
   glhckCamera *camera;
   int diffw, diffh;
   CALL(2, "%d, %d", width, height);

   /* get difference of old dimensions and now */
   diffw = width  - GLHCKR()->width;
   diffh = height - GLHCKR()->height;

   for (camera = GLHCKW()->camera; camera; camera = camera->next) {
      glhckCameraViewporti(camera,
	    camera->view.viewport.x,
	    camera->view.viewport.y,
	    camera->view.viewport.w + diffw,
	    camera->view.viewport.h + diffh);
   }

   /* no camera binded, upload default projection */
   if (!(camera = GLHCKRD()->camera)) {
      _glhckRenderDefaultProjection(width, height);
      glhckRenderViewporti(0, 0, width, height);
   } else {
      /* update camera */
      GLHCKRD()->camera = NULL;
      camera->view.update = 1;
      glhckCameraUpdate(camera);
   }
}
Beispiel #2
0
void Camera::update(float const delta)
{
    glhckCameraUpdate(c);
}