/* \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); } }
void Camera::update(float const delta) { glhckCameraUpdate(c); }